/* ==========================================================================
   Teploon — modern layer v2 (2026-11). Site structure untouched; this file
   only restyles. Every rule is scoped to html.tpm so it can be switched off.
   Spacing scale: 4 / 8 / 12 / 16 / 24 / 32.  Radius: 8 (controls) / 12 (cards)
   ========================================================================== */
.tpm {
	--b: #17a3d2;          /* brand blue */
	--b-d: #0d8dbb;        /* hover */
	--b-dd: #0a6f96;       /* deep blue: footer, active */
	--b-l: #e6f5fb;        /* tint */
	--b-ll: #f2fafd;
	--r: #fb0035;          /* brand red */
	--r-d: #d9002e;
	--ink: #17262f;
	--ink-2: #44545e;
	--mute: #7a8a94;
	--line: #dde8ee;
	--bg: #eef4f8;
	--card: #fff;
	--rad: 12px;
	--rad-s: 8px;
	--gap: 24px;
	--pad: 20px;
	--sh: 0 1px 2px rgba(10, 60, 90, .06), 0 4px 14px rgba(10, 60, 90, .05);
	--sh-h: 0 10px 28px rgba(10, 60, 90, .13);
	--font: 'Rubik', 'HelveticaNeueCyrRoman', Arial, sans-serif;
}

/* ---------- base ---------------------------------------------------------- */
.tpm body { background: var(--bg) !important; color: var(--ink); font-family: var(--font); -webkit-font-smoothing: antialiased; }
.tpm body * { font-family: var(--font); }
.tpm a { color: var(--b-d); }
.tpm a:hover { color: var(--b-dd); }
.tpm .container, .tpm #main, .tpm .wrapper { background: transparent !important; box-shadow: none !important; }
.tpm .clr, .tpm br.clr { display: none !important; }
.tpm h1, .tpm .breadcrumb h1 { color: var(--ink); font-weight: 600; letter-spacing: -.01em; }
.tpm select {
	-webkit-appearance: none; appearance: none; box-sizing: border-box; max-width: 100%; height: auto !important;
	border: 1px solid var(--line) !important; border-radius: var(--rad-s) !important; padding: 8px 30px 8px 12px !important; font-size: 14px !important; line-height: 1.3 !important; color: var(--ink) !important; cursor: pointer;
	background: #fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='6'%3E%3Cpath d='M1 1l4 4 4-4' fill='none' stroke='%230d8dbb' stroke-width='1.8'/%3E%3C/svg%3E") no-repeat right 11px center !important;
}
.tpm input[type=text], .tpm input[type=email], .tpm input[type=tel], .tpm input[type=password], .tpm textarea {
	border: 1px solid var(--line); border-radius: var(--rad-s); padding: 10px 12px; font-size: 14px; color: var(--ink); box-sizing: border-box; box-shadow: none; background: #fff;
}
.tpm select:focus, .tpm input[type=text]:focus, .tpm textarea:focus { outline: none; border-color: var(--b) !important; box-shadow: 0 0 0 3px rgba(23, 163, 210, .18); }
.tpm .tpm-card { background: var(--card); border: 1px solid var(--line); border-radius: var(--rad); box-shadow: var(--sh); }

/* ---------- top strip (built by JS) -------------------------------------- */
.tpm .tpm-top { background: var(--b); color: #fff; font-size: 13px; }
.tpm .tpm-top-in { max-width: 1260px; margin: 0 auto; padding: 0 24px; box-sizing: border-box; display: flex; align-items: center; gap: 24px; min-height: 38px; }
.tpm .tpm-top a { color: #fff; text-decoration: none; opacity: .92; }
.tpm .tpm-top a:hover { opacity: 1; text-decoration: underline; color: #fff; }
.tpm .tpm-top .tpm-shops { display: flex; gap: 6px 18px; flex-wrap: nowrap; align-items: center; white-space: nowrap; min-width: 0; overflow: hidden; }
.tpm .tpm-top .tpm-shops span { opacity: .8; }
.tpm .tpm-top .tpm-info { margin-left: auto; display: flex; gap: 20px; align-items: center; white-space: nowrap; }
.tpm .tpm-top .tpm-info span { display: inline-flex; align-items: center; gap: 6px; }
.tpm .tpm-top svg { width: 15px; height: 15px; flex: 0 0 15px; opacity: .9; }

/* ==========================================================================
   DESKTOP LAYOUT (>= 1000px)
   ========================================================================== */
@media (min-width: 1000px) {
	.tpm body > .wrapper { width: auto !important; max-width: 1260px; margin: 0 auto !important; padding: 0 24px 0 !important; box-sizing: border-box; overflow: visible !important; }
	.tpm #main { width: auto !important; padding: 0 !important; margin: 0 !important; }
	.tpm .container { display: grid !important; grid-template-columns: 280px minmax(0, 1fr); column-gap: var(--gap); align-items: start; width: auto !important; padding: 0 !important; margin: 0 !important; }
	.tpm #right_side { grid-column: 2; grid-row: 1; float: none !important; width: auto !important; padding: 0 !important; margin: 0 !important; display: block !important; min-width: 0; }
	.tpm #left_side { grid-column: 1; grid-row: 1; float: none !important; width: auto !important; padding: 0 !important; margin: 0 !important; position: static !important; }
	.tpm #right_container { margin: 0 !important; padding: 0 !important; width: auto !important; }
	/* undo old 1000–1259 tricks (negative margins over the left column) */
	.tpm #main_menu, .tpm .searchbox, .tpm .sliderbox { margin-left: 0 !important; width: auto !important; }
	.tpm #catalog_menu, .tpm body > .wrapper.page-with-slider.page-with-hotbox #catalog_menu { margin-top: 0 !important; }

	/* header row: logo (left col) and phones/CTA (right col) share one height */
	.tpm #logo img { max-height: 92px; width: auto !important; }
	.tpm #logo { height: 104px; display: flex; flex-direction: column; justify-content: center; padding: 0 !important; margin: 0 !important; }
	.tpm #logo img { max-width: 100%; height: auto; display: block; }
	.tpm #header { padding: 0 !important; }
	.tpm #header .our-projects, .tpm #header .numbers p.rcol { display: none !important; }
	.tpm #header .numbers { height: 104px; box-sizing: border-box; display: flex !important; align-items: center; gap: 20px; padding: 0 !important; margin: 0 !important; position: static !important; }
	.tpm #header .numbers p.lcol { display: flex !important; align-items: center; flex-wrap: wrap; gap: 4px 22px; margin: 0 !important; padding: 0 !important; width: auto !important; position: static !important; float: none !important; font-size: inherit !important; }
	.tpm #header .numbers .messengers { display: flex !important; gap: 8px; margin: 0 !important; }
	.tpm a.call-form { margin-left: auto !important; float: none !important; }

	/* menu bar = same top as the catalog header in the left column */
	.tpm #main_menu { height: 52px !important; }
	.tpm #catalog_menu:before { height: 52px; }

	.tpm #all_brands, .tpm #browsed_products, .tpm .yandex-rating { margin-top: 16px !important; }
}
@media (min-width: 1000px) and (max-width: 1259px) {
	.tpm .container { grid-template-columns: 250px minmax(0, 1fr); column-gap: 20px; }
	.tpm body > .wrapper { padding: 0 20px !important; }
	.tpm #header .numbers p.lcol a[href^="tel"] { font-size: 20px !important; }
	.tpm #main_menu li a { padding: 0 13px !important; font-size: 14px !important; }
	.tpm .tpm-top-in { padding: 0 20px; }
	.tpm .tpm-top .tpm-shops > span { display: none; }
	.tpm .hot-box .hot-cont { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.tpm .hot-box .hot-cont .item:nth-child(n+3) { display: none !important; }
	.tpm .big-cat .item .img-cont { flex-basis: 110px; width: 110px !important; }
}

/* ---------- header pieces ------------------------------------------------ */
.tpm #header { background: none !important; max-height: none !important; height: auto !important; overflow: visible !important; }
.tpm #header .numbers p.lcol a[href^="tel"] { color: var(--ink) !important; font-weight: 600; font-size: 23px !important; text-decoration: none; letter-spacing: -.01em; white-space: nowrap; display: inline-flex; align-items: center; gap: 8px; margin: 0 !important; }
.tpm #header .numbers p.lcol a[href^="tel"]:hover { color: var(--b-d) !important; }
.tpm #header .numbers p.lcol a[href^="tel"] img { display: none; }
.tpm #header .numbers p.lcol a[href^="tel"]:before {
	content: ""; width: 30px; height: 30px; border-radius: 50%; background: var(--b-l) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%230d8dbb' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 4h3l1.6 4-2 1.3a11 11 0 0 0 7.1 7.1l1.3-2 4 1.6v3a2 2 0 0 1-2 2A16 16 0 0 1 3 6a2 2 0 0 1 2-2z'/%3E%3C/svg%3E") no-repeat center / 16px;
}
.tpm #header .numbers .messengers a { display: block; transition: transform .15s; line-height: 0; }
.tpm #header .numbers .messengers a:hover { transform: translateY(-2px); }
.tpm #header .numbers .messengers img { height: 32px !important; width: 32px !important; border-radius: 8px; }
.tpm a.call-form {
	background: var(--r) !important; color: #fff !important; border: 0 !important; border-radius: var(--rad-s) !important; font-size: 15px !important; font-weight: 500; padding: 0 22px !important; height: 44px; line-height: 44px !important;
	box-shadow: 0 6px 16px rgba(251, 0, 53, .22) !important; text-decoration: none; transition: background .15s, transform .15s; white-space: nowrap; display: inline-block !important; width: auto !important;
}
.tpm a.call-form:hover { background: var(--r-d) !important; transform: translateY(-1px); }

/* main menu: brand-blue bar */
.tpm #main_menu {
	background: var(--b) !important; border: 0 !important; border-radius: var(--rad) !important; box-shadow: 0 6px 18px rgba(23, 163, 210, .25) !important;
	display: flex !important; flex-wrap: nowrap; align-items: stretch; overflow: hidden; padding: 0 6px !important; margin: 0 !important; box-sizing: border-box;
}
.tpm #main_menu li { background: none !important; border: 0 !important; float: none !important; height: auto !important; margin: 0 !important; padding: 0 !important; box-shadow: none !important; position: static !important; display: flex; }
.tpm #main_menu li:before, .tpm #main_menu li:after { display: none !important; }
.tpm #main_menu li a {
	display: flex !important; align-items: center; gap: 7px; height: auto !important; line-height: 1.2 !important; padding: 0 17px !important; margin: 0 !important;
	color: #fff !important; font-size: 15px !important; font-weight: 500; text-transform: none !important; background: none !important; text-decoration: none; text-shadow: none !important; transition: background .15s; white-space: nowrap;
}
.tpm #main_menu li a:hover { background: rgba(255, 255, 255, .14) !important; color: #fff !important; }
.tpm #main_menu li.selected a { background: var(--b-dd) !important; color: #fff !important; }
.tpm #main_menu li a[href*="spetspredlozh"]:after { content: ""; width: 7px; height: 7px; border-radius: 50%; background: var(--r); box-shadow: 0 0 0 2px #fff; order: -1; }

/* search + cart row */
.tpm .searchbox { display: flex !important; gap: 12px; align-items: stretch; margin: 16px 0 24px !important; padding: 0 !important; background: none !important; height: auto !important; position: static !important; max-width: 100%; }
.tpm #search { min-width: 0; flex: 1 1 auto; float: none !important; width: auto !important; background: none !important; padding: 0 !important; margin: 0 !important; height: auto !important; position: static !important; }
.tpm #search form { display: flex; height: 48px; margin: 0; position: static !important; }
.tpm #search p { display: none !important; }
.tpm #search .input_search {
	display: block !important; flex: 1 1 auto; min-width: 0; float: none !important; width: auto !important; height: 48px !important; margin: 0 !important; position: static !important;
	border: 2px solid var(--b) !important; border-right: 0 !important; border-radius: var(--rad-s) 0 0 var(--rad-s) !important; padding: 0 16px 0 44px !important; font-size: 15px !important; color: var(--ink); box-shadow: none !important; box-sizing: border-box;
	background: #fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='18' height='18' fill='none' stroke='%230d8dbb' stroke-width='2'%3E%3Ccircle cx='8' cy='8' r='6'/%3E%3Cpath d='M12.5 12.5L17 17'/%3E%3C/svg%3E") no-repeat 16px center !important;
}
.tpm #search .input_search:focus { box-shadow: none !important; }
.tpm #search .button_search {
	float: none !important; height: 48px !important; width: auto !important; padding: 0 26px !important; margin: 0 !important; position: static !important; border: 0 !important; border-radius: 0 var(--rad-s) var(--rad-s) 0 !important;
	background: var(--b) !important; color: #fff !important; font-size: 15px !important; font-weight: 500; cursor: pointer; transition: background .15s; text-shadow: none !important; box-shadow: none !important;
}
.tpm #search .button_search:hover { background: var(--b-d) !important; }
.tpm #cart_informer { float: none !important; flex: 0 0 auto; width: auto !important; height: auto !important; margin: 0 !important; padding: 0 !important; background: none !important; }
.tpm #cart_informer .cart-container {
	height: 48px; box-sizing: border-box; display: flex; align-items: center; padding: 0 18px 0 50px !important; border-radius: var(--rad-s) !important; position: relative; width: auto !important; min-width: 200px; margin: 0 !important;
	background: var(--b-l) !important; border: 2px solid var(--b-l) !important; box-shadow: none !important;
}
.tpm #cart_informer .cart-container:before {
	content: ""; position: absolute; left: 16px; top: 50%; width: 22px; height: 22px; margin-top: -11px;
	background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%230a6f96' stroke-width='1.9' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M3 4h2l2.4 11.2a1.5 1.5 0 0 0 1.5 1.2h8.7a1.5 1.5 0 0 0 1.5-1.1L21 8H6.2'/%3E%3Ccircle cx='9.5' cy='20' r='1.3'/%3E%3Ccircle cx='17.5' cy='20' r='1.3'/%3E%3C/svg%3E") no-repeat center / contain;
}
.tpm #cart_informer .cart-container:not(.empty) { background: var(--r) !important; border-color: var(--r) !important; }
.tpm #cart_informer .cart-container:not(.empty):before { filter: brightness(0) invert(1); }
.tpm #cart_informer .cart-cont { background: none !important; padding: 0 !important; margin: 0 !important; height: auto !important; width: auto !important; display: flex; gap: 10px; align-items: baseline; white-space: nowrap; }
.tpm #cart_informer .cart-cont b { color: var(--b-dd) !important; font-weight: 500; font-size: 14px; }
.tpm #cart_informer .cart-container:not(.empty) .cart-cont b { color: #fff !important; font-size: 16px; font-weight: 600; }
.tpm #cart_informer .cart-cont a { color: rgba(255, 255, 255, .88) !important; font-size: 13px; text-decoration: none; }

/* ---------- left column -------------------------------------------------- */
.tpm #catalog_menu { background: #fff !important; border: 1px solid var(--line); border-radius: var(--rad); box-shadow: var(--sh); padding: 0 0 8px !important; overflow: hidden; }
.tpm #catalog_menu:before {
	content: "Каталог товаров"; display: flex; align-items: center; gap: 10px; padding: 0 18px 0 48px; margin: 0 0 8px; background: var(--b); color: #fff; font-size: 15px; font-weight: 500; position: relative;
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23fff' stroke-width='2' stroke-linecap='round'%3E%3Cpath d='M4 7h16M4 12h16M4 17h16'/%3E%3C/svg%3E"); background-repeat: no-repeat; background-position: 18px center; background-size: 20px;
}
.tpm #catalog_menu ul { margin: 0 !important; padding: 0 8px !important; background: none !important; }
.tpm #catalog_menu li { margin: 0 !important; padding: 0 !important; background: none !important; list-style: none; border: 0 !important; height: auto !important; width: auto !important; }
.tpm #catalog_menu li:before, .tpm #catalog_menu li:after, .tpm #catalog_menu a:before, .tpm #catalog_menu a:after { display: none !important; }
.tpm #catalog_menu > ul > li > a {
	display: flex !important; align-items: center; gap: 12px; width: auto !important; height: auto !important; min-height: 42px; box-sizing: border-box; padding: 5px 10px !important; margin: 0 !important;
	background: none !important; box-shadow: none !important; border: 0 !important; border-radius: var(--rad-s) !important;
	color: var(--ink) !important; font-size: 13.5px !important; font-weight: 500; text-transform: none !important; line-height: 1.25 !important; text-decoration: none; text-shadow: none !important; transition: background .12s, color .12s;
}
.tpm #catalog_menu > ul > li > a span { display: block !important; padding: 0 !important; margin: 0 !important; height: auto !important; width: auto !important; position: static !important; background: none !important; text-transform: none !important; color: inherit !important; font-size: inherit !important; font-weight: inherit !important; text-shadow: none !important; line-height: 1.25 !important; }
.tpm #catalog_menu > ul > li > a span:first-child { flex: 0 0 32px; width: 32px !important; height: 32px !important; display: flex !important; align-items: center; justify-content: center; border-radius: 6px; }
.tpm #catalog_menu > ul > li > a span:first-child img { max-width: 30px; max-height: 30px; width: auto; height: auto; position: static !important; margin: 0 !important; }
.tpm #catalog_menu > ul > li > a:hover { background: var(--b-l) !important; color: var(--b-dd) !important; }
.tpm #catalog_menu > ul > li.selected > a { background: var(--b-l) !important; color: var(--b-dd) !important; box-shadow: inset 3px 0 0 var(--b) !important; }
.tpm #catalog_menu ul ul { padding: 2px 0 8px 52px !important; }
.tpm #catalog_menu ul ul:empty { display: none; }
.tpm #catalog_menu ul ul li a { display: block !important; padding: 5px 8px !important; font-size: 13px !important; color: var(--ink-2) !important; text-decoration: none; background: none !important; border-radius: 6px; line-height: 1.3 !important; text-transform: none !important; height: auto !important; }
.tpm #catalog_menu ul ul li a span:first-child { display: none; }
.tpm #catalog_menu ul ul li a span { display: inline !important; position: static !important; padding: 0 !important; background: none !important; color: inherit !important; font-size: inherit !important; }
.tpm #catalog_menu ul ul li a:hover { color: var(--b-dd) !important; background: var(--b-ll) !important; }
.tpm #catalog_menu ul ul li.selected > a { color: var(--b-dd) !important; font-weight: 500; }

.tpm #all_brands { background: #fff !important; border: 1px solid var(--line) !important; border-radius: var(--rad); box-shadow: var(--sh); padding: 0 !important; overflow: hidden; box-sizing: border-box; }
.tpm #all_brands > span {
	display: flex !important; align-items: center; justify-content: space-between; color: var(--ink) !important; font-size: 15px !important; font-weight: 500; text-transform: none !important; padding: 0 18px !important; height: 50px !important; line-height: 50px !important; margin: 0 !important;
	cursor: pointer; background: none !important; border: 0 !important; border-radius: 0 !important; box-shadow: none !important; text-shadow: none !important;
}
.tpm #all_brands > span:after { content: ""; width: 10px; height: 10px; border-right: 2px solid var(--b-d); border-bottom: 2px solid var(--b-d); transform: rotate(45deg) translateY(-3px); }
.tpm #all_brands .brands-cont { padding: 0 18px 14px; columns: 2; column-gap: 12px; font-size: 13px; }
.tpm #all_brands .brands-cont a { display: block; color: var(--ink-2); text-decoration: none; padding: 3px 0; break-inside: avoid; }
.tpm #all_brands .brands-cont a:hover { color: var(--b-dd); }
.tpm #browsed_products { background: #fff; border: 1px solid var(--line); border-radius: var(--rad); padding: 16px 18px; box-shadow: var(--sh); }
.tpm #browsed_products .h2 { font-size: 15px; font-weight: 500; color: var(--ink); margin: 0 0 10px; background: none; padding: 0; text-transform: none; }
.tpm #browsed_products img { border-radius: 6px; border: 1px solid var(--line); }
.tpm .yandex-rating { padding: 0; }

/* ---------- section titles ------------------------------------------------ */
.tpm .tpm-h, .tpm #right_container > h1, .tpm #right_container > h2 {
	display: flex; align-items: center; gap: 12px; font-size: 24px !important; font-weight: 600 !important; color: var(--ink) !important; margin: 32px 0 16px !important; padding: 0 !important; background: none !important; text-transform: none !important; line-height: 1.25 !important;
}
.tpm .tpm-h:before, .tpm #right_container > h1:before, .tpm #right_container > h2:before { content: ""; flex: 0 0 5px; width: 5px; height: 26px; border-radius: 3px; background: var(--b); }

/* ---------- home: slider, hot, categories --------------------------------- */
.tpm .sliderbox { border: 0 !important; border-radius: var(--rad) !important; overflow: hidden !important; box-shadow: var(--sh) !important; background: #fff !important; margin: 0 0 var(--gap) !important; position: relative; padding: 0 !important; }
.tpm .sliderbox .caroufredsel_wrapper { margin: 0 !important; }
.tpm .sliderbox img { display: block; }
.tpm .slider-pag, .tpm .slider-pag-mobile { z-index: 5; }
.tpm .slider-pag a, .tpm .slider-pag-mobile a { background: rgba(255, 255, 255, .65) !important; border: 0 !important; width: 9px !important; height: 9px !important; border-radius: 6px !important; box-shadow: 0 1px 3px rgba(0, 0, 0, .3); transition: width .2s, background .2s; margin: 0 3px !important; }
.tpm .slider-pag a.selected, .tpm .slider-pag-mobile a.selected { background: var(--b) !important; width: 24px !important; }

.tpm .hot-box { background: #fff !important; border: 1px solid var(--line) !important; border-radius: var(--rad) !important; box-shadow: var(--sh) !important; overflow: hidden !important; padding: 0 !important; margin: 0 0 var(--gap) !important; width: auto !important; }
.tpm .hot-box:before, .tpm .hot-box:after, .tpm .hot-wrap:after { display: none !important; }
.tpm .hot-box .hot-wrap { background: none !important; border: 0 !important; padding: 0 !important; margin: 0 !important; width: auto !important; }
.tpm .hot-box h2 {
	display: flex !important; align-items: center; gap: 10px; background: var(--b) !important; color: #fff !important; font-size: 16px !important; font-weight: 500 !important; text-transform: none !important; letter-spacing: 0;
	padding: 0 20px !important; height: 52px; margin: 0 !important; box-shadow: none !important; line-height: 1.2 !important; text-shadow: none !important; border: 0 !important; border-radius: 0 !important; width: auto !important;
}
.tpm .hot-box h2:before { content: ""; width: 22px; height: 22px; flex: 0 0 22px; background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='%23fff'%3E%3Cpath d='M13.5 2s.9 3.1-1.1 5.7C10.6 10 8 11.2 8 14.6A4.2 4.2 0 0 0 12 19c2.6 0 4.3-1.9 4.3-4.4 0-1.6-.8-2.8-.8-2.8s2.8 1 2.8 4.6A6.3 6.3 0 0 1 12 22.5 7.1 7.1 0 0 1 5 15.3C5 9 12.9 7.6 13.5 2z'/%3E%3C/svg%3E") no-repeat center / contain; }
.tpm .hot-box .hot-cont { display: grid !important; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 16px; padding: var(--pad) !important; width: auto !important; overflow: visible !important; }
.tpm .hot-box .hot-cont .item { display: grid !important; grid-template-columns: 112px minmax(0, 1fr); gap: 14px; align-items: start; width: auto !important; margin: 0 !important; float: none !important; }
.tpm .hot-box .hot-cont .item a.img-cont { width: 112px !important; height: 112px !important; float: none !important; margin: 0 !important; border: 1px solid var(--line) !important; border-radius: var(--rad-s) !important; box-shadow: none !important; background: #fff; }
.tpm .hot-box .hot-cont .item a.img-cont img { max-width: 92% !important; max-height: 92% !important; }
.tpm .hot-box .hot-cont .item a.img-cont .hot { transform: scale(.8); transform-origin: top right; }
.tpm .hot-box .hot-cont .item .rcol { float: none !important; width: auto !important; min-width: 0; display: flex; flex-direction: column; min-height: 112px; }
.tpm .hot-box .hot-cont .item .rcol > b { display: block; margin: 0 0 6px; font-weight: 500; }
.tpm .hot-box .hot-cont .item h3 { margin: 0 0 6px !important; line-height: 1.3 !important; }
.tpm .hot-box .hot-cont .item .rcol > b a, .tpm .hot-box .hot-cont .item h3 a {color: var(--ink) !important; font-size: 14px !important; font-weight: 500; line-height: 1.3 !important; text-decoration: none !important; display: -webkit-box; -webkit-line-clamp: 3; -webkit-box-orient: vertical; overflow: hidden; }
.tpm .hot-box .hot-cont .item .rcol > b a:hover, .tpm .hot-box .hot-cont .item h3 a:hover { color: var(--b-d) !important; }
.tpm .hot-box .hot-cont .item .text { height: auto !important; margin: 0 0 8px !important; font-size: 12px !important; color: var(--mute) !important; line-height: 1.4; display: -webkit-box; -webkit-line-clamp: 3; -webkit-box-orient: vertical; overflow: hidden; }
.tpm .hot-box .hot-cont .item .price { color: var(--ink) !important; font-size: 20px !important; font-weight: 600 !important; margin: auto 0 0 !important; }

.tpm .big-cat { display: grid !important; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px; margin: 0 0 var(--gap) !important; }
.tpm .big-cat .item {
	display: flex !important; align-items: center; gap: 16px; width: auto !important; height: auto !important; min-height: 176px; margin: 0 !important; padding: var(--pad) !important; box-sizing: border-box;
	background: #fff !important; border: 1px solid var(--line) !important; border-radius: var(--rad) !important; box-shadow: var(--sh) !important; transition: box-shadow .2s, border-color .2s, transform .2s;
}
.tpm .big-cat .item:hover { box-shadow: var(--sh-h) !important; border-color: #b9e1f1 !important; transform: translateY(-2px); }
.tpm .big-cat .item .img-cont { flex: 0 0 132px; width: 132px !important; height: 136px !important; margin: 0 !important; display: flex !important; align-items: center; justify-content: center; }
.tpm .big-cat .item .img-cont img { max-height: 136px !important; max-width: 100% !important; height: auto !important; width: auto !important; }
.tpm .big-cat .item .cats { flex: 1 1 auto; width: auto !important; min-width: 0; }
.tpm .big-cat .item .cats a.main-cat { color: var(--b-dd) !important; font-size: 16px !important; font-weight: 600 !important; text-transform: none !important; margin: 0 0 8px !important; text-decoration: none !important; line-height: 1.25; }
.tpm .big-cat .item .cats a.main-cat span { text-transform: none !important; }
.tpm .big-cat .item .cats a.main-cat:hover { color: var(--b) !important; }
.tpm .big-cat .item .cats a.sub-cat { color: var(--ink-2) !important; font-size: 13.5px !important; text-decoration: none !important; padding: 2px 0; line-height: 1.35; }
.tpm .big-cat .item .cats a.sub-cat:hover { color: var(--b-d) !important; }

/* ---------- listing -------------------------------------------------------- */
.tpm .breadcrumb { color: var(--mute); font-size: 13px; margin: 0 0 16px !important; padding: 0 !important; }
.tpm .breadcrumb a { color: var(--mute) !important; text-decoration: none; }
.tpm .breadcrumb a:hover { color: var(--b-d) !important; }
.tpm .breadcrumb h1 { display: block; font-size: 28px !important; line-height: 1.2 !important; margin: 6px 0 0 !important; color: var(--ink) !important; }
.tpm ul.cats { display: flex !important; flex-wrap: wrap; gap: 8px; margin: 0 0 var(--gap) !important; padding: 0 !important; width: auto !important; }
.tpm ul.cats li { list-style: none; margin: 0 !important; padding: 0 !important; background: none !important; float: none !important; width: auto !important; }
.tpm ul.cats li:before { display: none !important; }
.tpm ul.cats li a { display: block; padding: 8px 14px; border-radius: 999px; background: var(--b-l); color: var(--b-dd) !important; text-decoration: none !important; font-size: 13.5px !important; font-weight: 500; transition: background .15s, color .15s; white-space: nowrap; }
.tpm ul.cats li a:hover { background: var(--b); color: #fff !important; }

.tpm .sort-box {
	background: #fff !important; border: 1px solid var(--line) !important; border-radius: var(--rad) !important; box-shadow: var(--sh) !important; padding: 0 !important; color: var(--ink) !important; margin: 0 0 var(--gap) !important; overflow: hidden; height: auto !important; width: auto !important;
}
.tpm .sort-box * { text-shadow: none !important; }
.tpm .sort-box .sort { display: flex !important; flex-wrap: wrap; gap: 6px; align-items: center; color: var(--ink-2) !important; font-size: 14px !important; padding: 14px var(--pad) !important; margin: 0 !important; background: var(--b-ll) !important; border-bottom: 1px solid var(--line); float: none !important; width: auto !important; }
.tpm .sort-box .sort a { color: var(--ink) !important; text-decoration: none !important; padding: 6px 13px !important; border-radius: 999px; background: #fff; border: 1px solid var(--line); font-size: 13px !important; margin: 0 !important; }
.tpm .sort-box .sort a:hover { border-color: var(--b); color: var(--b-dd) !important; }
.tpm .sort-box .sort a.selected { background: var(--b) !important; border-color: var(--b); color: #fff !important; }
.tpm #features { padding: 16px var(--pad) 4px !important; margin: 0 !important; float: none !important; width: auto !important; }
.tpm #features .feature { color: var(--ink) !important; margin: 0 0 6px !important; padding: 0 !important; line-height: 1 !important; float: none !important; width: auto !important; }
.tpm #features .feature b { display: block; color: var(--ink) !important; font-weight: 500 !important; font-size: 13px !important; margin: 0 0 8px; }
.tpm #features .feature a {
	display: inline-block; margin: 0 4px 6px 0 !important; padding: 6px 10px !important; border-radius: 6px; background: var(--bg) !important; color: var(--ink-2) !important;
	text-decoration: none !important; font-size: 12.5px !important; line-height: 1.2 !important; border: 1px solid transparent; transition: all .12s;
}
.tpm #features .feature a:hover { border-color: var(--b); color: var(--b-dd) !important; background: #fff !important; }
.tpm #features .feature a.selected { background: var(--b) !important; color: #fff !important; }
.tpm .tpm-feat-collapsed { max-height: 92px; overflow: hidden; -webkit-mask-image: linear-gradient(#000 62%, transparent); mask-image: linear-gradient(#000 62%, transparent); }
.tpm .tpm-feat-more { display: inline-flex; align-items: center; gap: 6px; margin: 0 0 14px; border: 0; background: none; color: var(--b-d); font-size: 13px; font-weight: 500; padding: 0; cursor: pointer; }
.tpm .tpm-feat-more:after { content: ""; width: 6px; height: 6px; border-right: 2px solid currentColor; border-bottom: 2px solid currentColor; transform: rotate(45deg) translateY(-2px); }
.tpm .tpm-feat-more.tpm-open:after { transform: rotate(-135deg) translate(-2px, 0); }
.tpm .tpm-feat-more:hover { color: var(--b-dd); }
.tpm .sort-box .brands { display: flex !important; align-items: center; gap: 10px; color: var(--ink) !important; font-size: 13px; font-weight: 500; padding: 14px var(--pad) !important; margin: 0 !important; border-top: 1px solid var(--line); float: none !important; width: auto !important; }
.tpm .sort-box .brands select { min-width: 240px; font-weight: 400; }
.tpm .tpm-filter-toggle { display: none; }

.tpm .pagination { display: flex !important; flex-wrap: wrap; gap: 6px; align-items: center; margin: 0 0 var(--gap) !important; padding: 0 !important; font-size: 14px; color: var(--mute); }
.tpm .pagination a { display: inline-flex !important; align-items: center; justify-content: center; min-width: 40px; height: 40px; padding: 0 12px !important; box-sizing: border-box; border-radius: var(--rad-s); background: #fff !important; border: 1px solid var(--line) !important; color: var(--ink) !important; text-decoration: none !important; font-size: 14px !important; margin: 0 !important; }
.tpm .pagination a:hover { border-color: var(--b) !important; color: var(--b-dd) !important; }
.tpm .pagination a.current_page { background: var(--b) !important; border-color: var(--b) !important; color: #fff !important; }

.tpm .catalog { width: auto !important; display: grid !important; grid-template-columns: repeat(auto-fill, minmax(205px, 1fr)); gap: 16px; margin: 0 0 var(--gap) !important; padding: 0 !important; }
.tpm .catalog:before, .tpm .catalog:after { display: none !important; }
.tpm .catalog > br { display: none; }
.tpm .catalog .item, .tpm .catalog .item:nth-child(n) {
	min-width: 0; display: flex !important; flex-direction: column; width: auto !important; height: auto !important; min-height: 0 !important; margin: 0 !important; padding: 14px 14px 16px !important; box-sizing: border-box; float: none !important; position: relative;
	background: #fff !important; border: 1px solid var(--line) !important; border-radius: var(--rad) !important; box-shadow: var(--sh) !important; transition: box-shadow .2s, border-color .2s, transform .2s;
}
.tpm .catalog .item:hover { box-shadow: var(--sh-h) !important; border-color: #b9e1f1 !important; transform: translateY(-2px); }
.tpm .catalog .item a.img-cont, .tpm .catalog .item .img-cont { display: flex !important; align-items: center; justify-content: center; height: 176px !important; width: auto !important; margin: 0 0 12px !important; border: 0 !important; background: #fff !important; box-shadow: none !important; position: relative; padding: 0 !important; float: none !important; }
.tpm .catalog .item .img-cont img { max-height: 176px !important; max-width: 100% !important; width: auto !important; height: auto !important; position: static !important; margin: 0 !important; transform: none !important; }
.tpm .catalog .item .h3 { margin: 0 0 8px !important; padding: 0 !important; text-align: left !important; height: auto !important; min-height: 0 !important; }
.tpm .catalog .item .h3 a { color: var(--ink) !important; text-transform: none !important; font-size: 14px !important; font-weight: 500 !important; line-height: 1.35 !important; text-decoration: none !important; display: -webkit-box; -webkit-line-clamp: 3; -webkit-box-orient: vertical; overflow: hidden; min-height: calc(1.35em * 3); }
.tpm .catalog .item .h3 a:hover { color: var(--b-d) !important; }
.tpm .catalog .item ul.option { margin: 0 0 12px !important; padding: 10px 0 0 !important; border-top: 1px dashed var(--line); font-size: 12px !important; color: var(--mute) !important; line-height: 1.5 !important; text-align: left; height: auto !important; min-height: 0 !important; }
.tpm .catalog .item ul.option li { list-style: none; margin: 0 !important; padding: 0 !important; background: none !important; font-size: 12px !important; }
.tpm .catalog .item ul.option li:before { display: none; }
.tpm .catalog .item ul.option label { color: var(--mute) !important; font-weight: 400 !important; }
.tpm .catalog .item ul.option span { color: var(--ink-2) !important; }
.tpm .catalog .item ul.option img { height: 11px !important; width: auto; vertical-align: -1px; }
.tpm .catalog .item .options-title, .tpm .catalog .item ul.option br { display: none; }
.tpm .catalog .item form.cart { margin-top: auto !important; padding: 0 !important; position: static !important; text-align: left !important; display: flex; flex-direction: column; gap: 10px; height: auto !important; }
.tpm .catalog .item form.cart select { width: 100% !important; margin: 0 !important; font-size: 13px !important; }
.tpm .catalog .item .price { position: static !important; color: var(--ink) !important; font-size: 21px !important; font-weight: 600 !important; margin: 0 !important; padding: 0 !important; text-align: left !important; line-height: 1.2 !important; letter-spacing: -.01em; }
.tpm .catalog .item .compare_price { position: static !important; color: var(--mute); text-decoration: line-through; font-size: 13px; margin-top: -6px; }
.tpm .catalog .item .add_to_cart, .tpm .catalog .item a.add_to_cart {
	display: block; width: 100% !important; box-sizing: border-box; margin: 0 !important; height: 42px !important; line-height: 42px !important; padding: 0 !important; text-align: center; position: static !important;
	background: var(--b) !important; color: #fff !important; border: 0 !important; border-radius: var(--rad-s) !important; box-shadow: none !important;
	font-size: 14px !important; font-weight: 500 !important; text-transform: none !important; text-shadow: none !important; cursor: pointer; text-decoration: none !important; transition: background .15s;
}
.tpm .catalog .item .add_to_cart:hover { background: var(--b-d) !important; }
.tpm .catalog .item .hit, .tpm .catalog .item .new { z-index: 2; top: 0 !important; right: 0 !important; border-top-right-radius: var(--rad); overflow: hidden; }

/* ---------- product page -------------------------------------------------- */
.tpm .product { display: grid !important; grid-template-columns: minmax(0, 340px) minmax(0, 1fr); gap: var(--gap); align-items: start; margin: 0 0 8px !important; width: auto !important; }
.tpm .product > br { display: none; }
.tpm .product .img-cont { float: none !important; width: auto !important; margin: 0 !important; }
.tpm .product .img-cont .image { background: #fff !important; border: 1px solid var(--line) !important; border-radius: var(--rad) !important; box-shadow: var(--sh) !important; overflow: hidden; padding: 16px !important; width: auto !important; height: auto !important; display: flex; align-items: center; justify-content: center; box-sizing: border-box; }
.tpm .product .img-cont .image img { max-width: 100% !important; height: auto !important; }
.tpm .product .img-cont .images { display: grid !important; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 8px; margin: 10px 0 0 !important; float: none !important; width: auto !important; }
.tpm .product .img-cont .images a { display: flex !important; align-items: center; justify-content: center; aspect-ratio: 1; width: auto !important; height: auto !important; margin: 0 !important; float: none !important; border: 1px solid var(--line) !important; border-radius: var(--rad-s) !important; box-shadow: none !important; overflow: hidden; background: #fff !important; padding: 4px !important; box-sizing: border-box; }
.tpm .product .img-cont .images a img { max-width: 100% !important; max-height: 100% !important; width: auto !important; height: auto !important; object-fit: contain; }
.tpm .product .img-cont .images a:hover { border-color: var(--b) !important; }
.tpm .product .rcol { float: none !important; width: auto !important; margin: 0 !important; min-width: 0; }
.tpm .product .rcol form.cart { background: #fff; border: 1px solid var(--line); border-radius: var(--rad); box-shadow: var(--sh); padding: var(--pad) !important; margin: 0 0 var(--gap) !important; position: relative; overflow: hidden; }
.tpm .product .rcol form.cart:before { content: ""; position: absolute; left: 0; top: 0; bottom: 0; width: 4px; background: var(--b); }
.tpm .product .rcol .price { display: inline-block; vertical-align: middle; margin: 0 !important; }
.tpm .product .rcol p.price { color: var(--ink) !important; font-size: 34px !important; font-weight: 600 !important; letter-spacing: -.02em; margin: 0 !important; line-height: 1.15 !important; }
.tpm .product .rcol form.cart select { font-size: 15px !important; margin: 0 14px 0 0 !important; vertical-align: middle; }
.tpm .product .rcol .heated-area { color: var(--ink-2); margin: 8px 0 16px !important; }
.tpm .product .rcol .add_to_cart {
	display: inline-block; background: var(--b) !important; color: #fff !important; border: 0 !important; border-radius: var(--rad-s) !important; box-shadow: 0 6px 16px rgba(23, 163, 210, .3) !important;
	font-size: 16px !important; font-weight: 500 !important; text-transform: none !important; text-shadow: none !important; height: 50px !important; line-height: 50px !important; padding: 0 40px !important; cursor: pointer; transition: background .15s; margin: 0 !important; width: auto !important;
}
.tpm .product .rcol .add_to_cart:hover { background: var(--b-d) !important; }
.tpm .product ul.features { margin: 0 0 16px !important; padding: 4px var(--pad) !important; background: #fff; border: 1px solid var(--line); border-radius: var(--rad); box-shadow: var(--sh); }
.tpm .product ul.features li { display: flex; gap: 16px; justify-content: space-between; border-bottom: 1px solid var(--line) !important; background: none !important; padding: 10px 0 !important; margin: 0 !important; color: var(--ink-2); }
.tpm .product ul.features li:last-child { border-bottom: 0 !important; }
.tpm .product ul.features li > * { float: none !important; width: auto !important; }
.tpm .product ul.features li label { color: var(--mute) !important; }
.tpm .product ul.features li span { color: var(--ink) !important; text-align: right; }
.tpm .product .rcol > b { display: block; font-size: 15px; font-weight: 500; color: var(--ink); margin: 0 0 10px; }
.tpm .product .rcol > b + br, .tpm .product .rcol > b + br + br, .tpm .product .rcol > ul + br { display: none; }
.tpm .product .rcol > ul:not(.features) { margin: 0 0 16px !important; padding: 6px 16px !important; background: var(--b-ll); border: 1px solid #cfe8f3; border-radius: var(--rad); }
.tpm .product .rcol > ul:not(.features) li { list-style: none; display: flex; gap: 10px; align-items: flex-start; padding: 8px 0 !important; margin: 0 !important; background: none !important; font-size: 14px; line-height: 1.4; }
.tpm .product .rcol > ul:not(.features) li + li { border-top: 1px solid #dcedf5; }
.tpm .product .rcol > ul:not(.features) li:before { content: ""; flex: 0 0 18px; height: 18px; border-radius: 50%; background: var(--b) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23fff' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 12l4 4 8-8'/%3E%3C/svg%3E") no-repeat center / 12px; margin-top: 1px; display: block !important; }
.tpm .product .rcol > ul:not(.features) li a { color: var(--ink) !important; text-decoration: none; }
.tpm .product .rcol > ul:not(.features) li a:hover { color: var(--b-d) !important; }
.tpm .product .rcol > span[style] { font-size: 15px !important; color: var(--ink-2); }
.tpm .product .rcol > span[style] a { font-weight: 500; text-decoration: none; }
.tpm .product-tabs-header-container { display: flex !important; gap: 4px; border-bottom: 2px solid var(--line); margin: 32px 0 0 !important; width: auto !important; }
.tpm .product-tabs-header-container .tab-title {
	background: none !important; color: var(--mute) !important; border: 0 !important; border-radius: 0 !important; width: auto !important; float: none !important;
	padding: 12px 18px !important; margin: 0 0 -2px !important; font-size: 16px !important; font-weight: 500; border-bottom: 2px solid transparent !important; cursor: pointer; box-shadow: none !important; text-shadow: none !important; height: auto !important; line-height: 1.2 !important;
}
.tpm .product-tabs-header-container .tab-title:hover { color: var(--ink) !important; }
.tpm .product-tabs-header-container .tab-title.active { color: var(--b-dd) !important; border-bottom-color: var(--b) !important; }
.tpm .product-tabs-body-container { padding: var(--pad) 0 0; color: var(--ink-2); line-height: 1.6; width: auto !important; }
.tpm .product_description { overflow-x: auto; }
.tpm .product_description h1, .tpm .product_description h2, .tpm .product_description h3 { color: var(--ink) !important; line-height: 1.3; }
.tpm .product_description img { max-width: 100% !important; height: auto !important; }
.tpm .product_description table { border-collapse: collapse; max-width: 100%; }
.tpm .product_description table td { border-color: var(--line) !important; padding: 6px 10px; }
.tpm table.variations { border-collapse: collapse; width: 100%; }
.tpm table.variations td, .tpm table.variations th { border-bottom: 1px solid var(--line); padding: 9px 6px; }

/* ---------- cart / checkout ---------------------------------------------- */
.tpm h1.cart-head, .tpm h2.heading { color: var(--ink) !important; font-weight: 600 !important; background: none !important; text-shadow: none !important; }
.tpm h2.heading { font-size: 20px !important; margin: 32px 0 16px !important; display: flex; align-items: center; gap: 12px; }
.tpm h2.heading:before { content: ""; flex: 0 0 5px; width: 5px; height: 22px; border-radius: 3px; background: var(--b); }
.tpm .table-cart { width: auto !important; background: #fff !important; border: 1px solid var(--line) !important; border-radius: var(--rad) !important; box-shadow: var(--sh) !important; padding: 6px var(--pad) !important; overflow: hidden; margin: 0 !important; }
.tpm .table-cart table#purchases { width: 100%; border-collapse: collapse; }
.tpm .table-cart table#purchases tr + tr td { border-top: 1px solid var(--line); }
.tpm .table-cart table#purchases td { padding: 14px 8px !important; vertical-align: middle; background: none !important; border-left: 0 !important; border-right: 0 !important; border-bottom: 0 !important; }
.tpm .table-cart table#purchases td.image img { border: 1px solid var(--line) !important; border-radius: var(--rad-s); box-shadow: none !important; max-width: 72px; height: auto; }
.tpm .table-cart table#purchases td.name a { color: var(--ink) !important; font-weight: 500; text-decoration: none; }
.tpm .table-cart table#purchases td.name a:hover { color: var(--b-d) !important; }
.tpm .table-cart table#purchases td.price { color: var(--ink-2) !important; white-space: nowrap; font-size: 15px !important; }
.tpm .table-cart table#purchases td.price.result { color: var(--ink) !important; font-weight: 600; font-size: 18px !important; }
.tpm .table-cart table#purchases td.amount select { min-width: 92px !important; width: auto !important; }
.tpm .table-cart table#purchases td.remove a, .tpm .table-cart table#purchases td.remove img { opacity: .5; transition: opacity .15s; }
.tpm .table-cart table#purchases td.remove a:hover, .tpm .table-cart table#purchases td.remove img:hover { opacity: 1; }
.tpm p.summ { display: flex; justify-content: space-between; align-items: baseline; gap: 12px; color: var(--ink) !important; font-size: 18px !important; margin: 0 !important; padding: 16px var(--pad) !important; background: var(--b-l); border-radius: var(--rad); margin-top: 12px !important; }
.tpm p.summ span, .tpm p.summ b, .tpm p.summ strong { color: var(--b-dd) !important; font-weight: 600; font-size: 24px; white-space: nowrap; }
.tpm .atten, .tpm .deliv, .tpm .cart_form { background: #fff !important; border: 1px solid var(--line) !important; border-radius: var(--rad) !important; box-shadow: var(--sh) !important; color: var(--ink-2); box-sizing: border-box; }
.tpm .atten { background: var(--b-ll) !important; border-color: #c9e7f3 !important; border-left: 4px solid var(--b) !important; }
.tpm ul#deliveries { margin: 0; padding: 0; }
.tpm ul#deliveries li { list-style: none; background: none !important; border-bottom: 1px solid var(--line); padding: 16px 0 !important; margin: 0 !important; }
.tpm ul#deliveries li:last-child { border-bottom: 0; }
.tpm ul#deliveries li:before { display: none; }
.tpm ul#deliveries input[type=radio] { accent-color: var(--b); width: 18px; height: 18px; }
.tpm .cart_form { padding: var(--pad) !important; }
.tpm .cart_form label { color: var(--mute); font-size: 13px; }
.tpm .cart_form input[type=text], .tpm .cart_form textarea { width: 100% !important; max-width: 100%; margin: 4px 0 12px; }
.tpm input.button_submit {
	background: var(--r) !important; color: #fff !important; border: 0 !important; border-radius: var(--rad-s) !important; box-shadow: 0 6px 16px rgba(251, 0, 53, .22) !important;
	font-size: 17px !important; font-weight: 500 !important; height: 52px !important; padding: 0 44px !important; cursor: pointer; text-shadow: none !important; text-transform: none !important; line-height: 52px !important; width: auto !important;
}
.tpm input.button_submit:hover { background: var(--r-d) !important; }

/* ---------- generic content / forms ------------------------------------- */
.tpm #right_container .page-body, .tpm #right_container > div > p { line-height: 1.6; }
.tpm input.button, .tpm .button, .tpm input[type=submit]:not(.button_search):not(.add_to_cart):not(.button_submit), .tpm button.submit {
	background: var(--b) !important; color: #fff !important; border: 0 !important; border-radius: var(--rad-s) !important; padding: 11px 24px !important;
	font-size: 15px !important; font-weight: 500; text-shadow: none !important; box-shadow: none !important; cursor: pointer; height: auto !important; text-transform: none !important; line-height: 1.2 !important;
}
.tpm input.button:hover, .tpm .button:hover, .tpm button.submit:hover { background: var(--b-d) !important; }
.tpm #call-form { font-family: var(--font); padding: 8px 6px; }
.tpm #call-form .form-group { margin-bottom: 10px; }
.tpm #call-form label { display: block; font-size: 13px; color: var(--mute); margin-bottom: 4px; }
.tpm #call-form .form-control { width: 100%; }
.tpm #call-form button.submit { width: 100%; background: var(--r) !important; margin-top: 6px; }

/* ---------- footer ------------------------------------------------------- */
.tpm #footer { box-sizing: border-box; background: var(--b-dd) !important; color: rgba(255, 255, 255, .78); height: auto !important; padding: 28px 0 !important; margin: 40px 0 0 !important; width: auto !important; }
.tpm #footer .wrapper { height: auto !important; max-width: 1260px; width: auto !important; margin: 0 auto !important; padding: 0 24px !important; box-sizing: border-box; display: flex; flex-wrap: wrap; align-items: center; gap: 12px 24px; }
.tpm #footer .text { margin: 0 !important; float: none !important; width: auto !important; color: rgba(255, 255, 255, .85) !important; }
.tpm #footer .text b { color: #fff !important; }
.tpm #footer .ne-oferta { margin: 0 0 0 auto !important; float: none !important; }
.tpm #footer a { color: rgba(255, 255, 255, .85) !important; }
.tpm #footer a:hover { color: #fff !important; }
.tpm #footer .yashare-auto-init { order: 3; }

/* ---------- notice + floating ------------------------------------------- */
.tpm #overlay { background: rgba(10, 70, 100, .96) !important; backdrop-filter: blur(6px); }
.tpm #overlay .popup { max-width: 1100px; margin: 0 auto; display: flex; align-items: center; justify-content: center; gap: 16px; padding: 10px 16px; }
.tpm #overlay .popup p { margin: 0 !important; font-size: 13px; }
.tpm #overlay .popup p:first-child, .tpm #overlay .popup p:nth-child(2) { display: none; }
.tpm #overlay .popup button { margin: 0 !important; flex: 0 0 auto; border: 0; border-radius: 6px; background: #fff; color: var(--b-dd); font-weight: 500; padding: 7px 16px !important; cursor: pointer; }
.tpm .float-button { width: 56px !important; height: 56px !important; right: 24px !important; bottom: 24px !important; border-radius: 50%; box-shadow: 0 6px 20px rgba(0, 0, 0, .2); overflow: hidden; }
.tpm .float-button img { width: 56px !important; height: 56px !important; }

.tpm .tpm-bar, .tpm .tpm-drawer, .tpm .tpm-shade, .tpm .tpm-strip { display: none; }

/* ==========================================================================
   TABLET & PHONE (<= 999px)
   ========================================================================== */
@media (max-width: 999px) {
	.tpm { --gap: 16px; --pad: 14px; }
	.tpm .tpm-top { display: none; }
	.tpm body > .wrapper, .tpm .wrapper { width: 100% !important; max-width: 100% !important; padding: 0 !important; margin: 0 !important; box-sizing: border-box; overflow: visible !important; }
	.tpm #main, .tpm .container { padding: 0 !important; margin: 0 !important; width: auto !important; display: block !important; }
	.tpm #left_side, .tpm .catalog_menu_toggle, .tpm .catalog_menu_bg { display: none !important; }
	.tpm #right_side { display: block !important; float: none !important; width: auto !important; max-width: 100%; margin: 0 !important; padding: 0 !important; }
	.tpm #right_container { margin: 0 !important; padding: 0 16px !important; width: auto !important; }
	.tpm #header .our-projects, .tpm #header .numbers, .tpm #main_menu, .tpm #cart_informer { display: none !important; }
	.tpm #header { padding: 0 !important; margin: 0 !important; }
	.tpm .searchbox { margin: 12px 0 var(--gap) !important; }
	.tpm #search .input_search { font-size: 16px !important; }
	.tpm .sliderbox, .tpm .hot-box, .tpm .big-cat, .tpm ul.cats, .tpm .sort-box, .tpm .catalog, .tpm .pagination { margin-bottom: var(--gap) !important; }

	/* top bar */
	.tpm .tpm-bar {
		display: flex; align-items: center; gap: 4px; position: sticky; top: 0; z-index: 900; background: #fff; height: 60px; padding: 0 8px 0 4px; box-sizing: border-box;
		border-bottom: 3px solid var(--b); box-shadow: 0 2px 12px rgba(10, 60, 90, .08);
	}
	.tpm .tpm-bar .tpm-logo { flex: 1 1 auto; display: flex; align-items: center; min-width: 0; }
	.tpm .tpm-bar .tpm-logo img { height: 38px; width: auto; max-width: 100%; display: block; }
	.tpm .tpm-ibtn { flex: 0 0 44px; width: 44px; height: 44px; display: flex; align-items: center; justify-content: center; border: 0; background: none; border-radius: 10px; color: var(--b-d); position: relative; padding: 0; cursor: pointer; text-decoration: none; }
	.tpm .tpm-ibtn:active { background: var(--b-l); }
	.tpm .tpm-ibtn svg { width: 25px; height: 25px; }
	.tpm .tpm-badge { position: absolute; top: 3px; right: 1px; min-width: 18px; height: 18px; padding: 0 5px; box-sizing: border-box; border-radius: 9px; background: var(--r); color: #fff; font-size: 11px; font-weight: 600; line-height: 18px; text-align: center; }
	.tpm .tpm-badge:empty { display: none; }

	/* blue contact strip under the bar */
	.tpm .tpm-strip { display: flex; align-items: center; gap: 8px; margin: 0 -16px; padding: 8px 16px; background: var(--b); }
	.tpm .tpm-strip a.tpm-strip-phone { color: #fff; font-weight: 500; font-size: 15px; text-decoration: none; white-space: nowrap; display: inline-flex; align-items: center; gap: 8px; }
	.tpm .tpm-strip a.tpm-strip-phone svg { width: 16px; height: 16px; }
	.tpm .tpm-strip .tpm-strip-msg { display: flex; gap: 6px; margin-left: auto; }
	.tpm .tpm-strip .tpm-strip-msg a { line-height: 0; }
	.tpm .tpm-strip .tpm-strip-msg img { width: 28px; height: 28px; border-radius: 7px; display: block; box-shadow: 0 0 0 2px rgba(255, 255, 255, .5); }

	/* drawer */
	.tpm .tpm-shade { display: block; position: fixed; inset: 0; background: rgba(8, 35, 50, .5); z-index: 9998; opacity: 0; visibility: hidden; transition: opacity .25s, visibility .25s; }
	.tpm .tpm-drawer { display: flex; flex-direction: column; position: fixed; top: 0; bottom: 0; left: 0; width: min(88vw, 380px); background: #fff; z-index: 9999; transform: translateX(-102%); transition: transform .28s cubic-bezier(.2, .8, .2, 1); box-shadow: 8px 0 30px rgba(0, 0, 0, .18); overscroll-behavior: contain; }
	.tpm.tpm-open .tpm-shade { opacity: 1; visibility: visible; }
	.tpm.tpm-open .tpm-drawer { transform: none; }
	.tpm.tpm-open, .tpm.tpm-open body { overflow: hidden !important; }
	.tpm .tpm-dhead { display: flex; align-items: center; gap: 8px; height: 60px; padding: 0 6px 0 16px; border-bottom: 3px solid var(--b); flex: 0 0 auto; }
	.tpm .tpm-dhead img { height: 34px; width: auto; }
	.tpm .tpm-dhead .tpm-ibtn { margin-left: auto; }
	.tpm .tpm-dbody { flex: 1 1 auto; overflow-y: auto; -webkit-overflow-scrolling: touch; padding: 0 0 24px; }
	.tpm .tpm-dsec { padding: 8px 0; border-bottom: 1px solid var(--line); }
	.tpm .tpm-dsec:last-child { border-bottom: 0; }
	.tpm .tpm-dtitle { font-size: 12px; text-transform: uppercase; letter-spacing: .06em; color: var(--b-d); padding: 10px 16px 6px; font-weight: 600; }
	.tpm .tpm-cat, .tpm .tpm-sub { list-style: none; margin: 0; padding: 0; }
	.tpm .tpm-cat li { list-style: none; margin: 0; padding: 0; background: none; }
	.tpm .tpm-cat li:before { display: none; }
	.tpm .tpm-row { display: flex; align-items: stretch; }
	.tpm .tpm-row > a { flex: 1 1 auto; display: flex; align-items: center; gap: 12px; padding: 8px 8px 8px 16px; color: var(--ink); text-decoration: none; font-size: 15px; line-height: 1.25; min-height: 46px; box-sizing: border-box; }
	.tpm .tpm-row > a:active { background: var(--b-ll); }
	.tpm .tpm-row > a .tpm-ico { flex: 0 0 30px; width: 30px; height: 30px; display: flex; align-items: center; justify-content: center; }
	.tpm .tpm-row > a .tpm-ico img { max-width: 30px; max-height: 30px; }
	.tpm .tpm-row.tpm-cur { background: var(--b-l); box-shadow: inset 3px 0 0 var(--b); }
	.tpm .tpm-row.tpm-cur > a { color: var(--b-dd); font-weight: 500; }
	.tpm .tpm-exp { flex: 0 0 52px; border: 0; border-left: 1px solid var(--line); background: none; color: var(--mute); display: flex; align-items: center; justify-content: center; cursor: pointer; margin: 8px 0; padding: 0; }
	.tpm .tpm-exp svg { width: 18px; height: 18px; transition: transform .2s; }
	.tpm .tpm-cat li.tpm-on > .tpm-row .tpm-exp { color: var(--b-d); }
	.tpm .tpm-cat li.tpm-on > .tpm-row .tpm-exp svg { transform: rotate(180deg); }
	.tpm .tpm-sub { display: none; padding: 0 0 6px 58px; }
	.tpm .tpm-cat li.tpm-on > .tpm-sub { display: block; }
	.tpm .tpm-sub .tpm-row > a { font-size: 14px; color: var(--ink-2); padding: 8px 8px 8px 0; min-height: 38px; }
	.tpm .tpm-sub .tpm-row.tpm-cur { background: none; box-shadow: none; }
	.tpm .tpm-sub .tpm-sub { padding-left: 14px; }
	.tpm .tpm-pages a { display: block; padding: 11px 16px; color: var(--ink); text-decoration: none; font-size: 15px; }
	.tpm .tpm-pages a.tpm-hot { color: var(--r); }
	.tpm .tpm-pages a:active { background: var(--b-ll); }
	.tpm .tpm-contacts { padding: 2px 16px 6px; }
	.tpm .tpm-contacts a.tpm-tel { display: block; font-size: 19px; font-weight: 600; color: var(--ink); text-decoration: none; padding: 5px 0; }
	.tpm .tpm-contacts .tpm-msg { display: flex; gap: 10px; margin: 8px 0 12px; }
	.tpm .tpm-contacts .tpm-msg a { line-height: 0; }
	.tpm .tpm-contacts .tpm-msg img { width: 40px; height: 40px; border-radius: 10px; display: block; }
	.tpm .tpm-contacts p { margin: 0 0 8px; color: var(--ink-2); font-size: 14px; line-height: 1.45; }
	.tpm .tpm-contacts p a { color: var(--ink-2); }
	.tpm .tpm-cta { display: block; margin: 8px 16px 4px; text-align: center; background: var(--r); color: #fff !important; border-radius: var(--rad-s); padding: 13px; font-size: 16px; font-weight: 500; text-decoration: none; }
	.tpm .tpm-dshops a { display: block; padding: 8px 16px; color: var(--ink-2); font-size: 14px; text-decoration: none; }

	/* content */
	.tpm .tpm-h, .tpm #right_container > h1, .tpm #right_container > h2 { font-size: 20px !important; margin: 24px 0 12px !important; }
	.tpm .tpm-h:before, .tpm #right_container > h1:before, .tpm #right_container > h2:before { height: 22px; }
	.tpm .breadcrumb h1 { font-size: 22px !important; }
	.tpm ul.cats { flex-wrap: nowrap; overflow-x: auto; margin: 0 -16px var(--gap) !important; padding: 0 16px 2px !important; scrollbar-width: none; -webkit-overflow-scrolling: touch; }
	.tpm ul.cats::-webkit-scrollbar { display: none; }
	.tpm .catalog { grid-template-columns: repeat(auto-fill, minmax(200px, 1fr)); gap: 12px; }
	.tpm .hot-box .hot-cont { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.tpm .hot-box .hot-cont .item:nth-child(n+3) { display: none !important; }
	/* home categories: compact tiles, 2+ per row */
	.tpm .big-cat { display: grid !important; grid-template-columns: repeat(auto-fill, minmax(150px, 1fr)); gap: 10px; }
	.tpm .big-cat .item { display: flex !important; flex-direction: column; align-items: center; justify-content: flex-start; text-align: center; min-height: 0; height: auto !important; padding: 14px 10px 16px !important; overflow: visible !important; width: auto !important; }
	.tpm .big-cat .item:before { display: none !important; }
	.tpm .big-cat .item:hover { transform: none; }
	.tpm .big-cat .item .img-cont { flex: 0 0 auto; width: 76px !important; height: 76px !important; max-width: none !important; }
	.tpm .big-cat .item .img-cont img { max-height: 76px !important; }
	.tpm .big-cat .item .cats { display: block !important; width: auto !important; text-align: center; }
	.tpm .big-cat .item .cats a.main-cat { font-size: 14px !important; line-height: 1.3 !important; padding: 0 !important; margin: 10px 0 0 !important; }
	.tpm .big-cat .item .cats a.sub-cat { display: none !important; }
	.tpm .product { grid-template-columns: minmax(0, 1fr); gap: var(--gap); }
	.tpm .product .img-cont { max-width: 460px; width: 100% !important; margin: 0 auto !important; }
	.tpm .product .img-cont .image { margin: 0 !important; left: auto !important; position: relative !important; }
	.tpm .product .rcol, .tpm .product .rcol form.cart { text-align: left !important; }
	.tpm .pagination { flex-wrap: nowrap; overflow-x: auto; scrollbar-width: none; margin-left: -16px !important; margin-right: -16px !important; padding: 0 16px 2px !important; }
	.tpm .pagination::-webkit-scrollbar { display: none; }
	.tpm .pagination a { flex: 0 0 auto; }
	.tpm .product .rcol > b { text-align: left; }
	.tpm .float-button { width: 52px !important; height: 52px !important; right: 14px !important; bottom: 16px !important; }
	.tpm .float-button img { width: 52px !important; height: 52px !important; }
	.tpm #footer { padding: 22px 0 !important; margin-top: 32px !important; }
	.tpm #footer .wrapper { padding: 0 16px !important; flex-direction: column; align-items: flex-start; }
	.tpm #footer .ne-oferta { margin: 0 !important; }
}

/* ==========================================================================
   PHONE (<= 767px)
   ========================================================================== */
@media (max-width: 767px) {
	.tpm .tpm-bar .tpm-logo img { height: 34px; }
	.tpm .hot-box h2 { height: 46px; font-size: 15px !important; padding: 0 14px !important; }
	.tpm .hot-box .hot-cont { display: flex !important; overflow-x: auto !important; scroll-snap-type: x mandatory; gap: 12px; padding: 14px !important; scrollbar-width: none; }
	.tpm .hot-box .hot-cont::-webkit-scrollbar { display: none; }
	.tpm .hot-box .hot-cont .item, .tpm .hot-box .hot-cont .item:nth-child(n+3) { display: grid !important; flex: 0 0 86%; scroll-snap-align: start; grid-template-columns: 96px minmax(0, 1fr); }
	.tpm .hot-box .hot-cont .item a.img-cont { width: 96px !important; height: 96px !important; }
	.tpm .hot-box .hot-cont .item .rcol { min-height: 96px; }
	.tpm .hot-box .hot-cont .item .price { font-size: 18px !important; }

	/* filters behind a button */
	.tpm .tpm-filter-toggle {
		display: flex; align-items: center; justify-content: center; gap: 8px; width: 100%; height: 46px; margin: 0 0 12px; border: 2px solid var(--b); border-radius: var(--rad-s); background: #fff;
		color: var(--b-dd); font-size: 15px; font-weight: 500; cursor: pointer;
	}
	.tpm .tpm-filter-toggle svg { width: 18px; height: 18px; }
	.tpm .tpm-filter-toggle .tpm-fcount { background: var(--b); color: #fff; border-radius: 9px; font-size: 11px; padding: 1px 7px; }
	.tpm .sort-box.tpm-has-filters #features, .tpm .sort-box.tpm-has-filters .brands { display: none !important; }
	.tpm .sort-box.tpm-has-filters.tpm-fopen #features { display: block !important; }
	.tpm .sort-box.tpm-has-filters.tpm-fopen .brands { display: flex !important; }
	.tpm .sort-box.tpm-has-filters:not(.tpm-fopen) .sort { border-bottom: 0; }
	.tpm .sort-box .sort { padding: 12px 14px !important; }
	.tpm .sort-box .brands { flex-direction: column; align-items: stretch; }
	.tpm .sort-box .brands select { width: 100%; min-width: 0; }

	.tpm .catalog { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; }
	.tpm .catalog .item, .tpm .catalog .item:nth-child(n) { padding: 10px 10px 12px !important; }
	.tpm .catalog .item:hover { transform: none; }
	.tpm .catalog .item a.img-cont, .tpm .catalog .item .img-cont { height: 128px !important; margin-bottom: 10px !important; }
	.tpm .catalog .item .img-cont img { max-height: 128px !important; }
	.tpm .catalog .item .h3 a { font-size: 13px !important; -webkit-line-clamp: 4; min-height: calc(1.35em * 4); }
	.tpm .catalog .item ul.option { display: none; }
	.tpm .catalog .item form.cart { gap: 8px; }
	.tpm .catalog .item .price { font-size: 17px !important; }
	.tpm .catalog .item .add_to_cart, .tpm .catalog .item a.add_to_cart { height: 38px !important; line-height: 38px !important; font-size: 13px !important; }
	.tpm .catalog .item form.cart select { font-size: 12px !important; padding: 7px 24px 7px 8px !important; background-position: right 8px center !important; }

	.tpm .pagination a { min-width: 38px; height: 38px; }
	.tpm .product .rcol p.price { font-size: 28px !important; }
	.tpm .product .rcol form.cart select { display: block; margin: 0 0 12px !important; }
	.tpm .product .rcol .add_to_cart { width: 100% !important; }
	.tpm .product-tabs-header-container { overflow-x: auto; scrollbar-width: none; }
	.tpm .product-tabs-header-container .tab-title { white-space: nowrap; padding: 10px 12px !important; font-size: 15px !important; }
	.tpm #right_container table { max-width: 100%; }

	.tpm .table-cart { padding: 4px 12px !important; }
	.tpm .table-cart table#purchases, .tpm .table-cart table#purchases tbody { display: block; }
	.tpm .table-cart table#purchases tr { display: grid; grid-template-columns: 64px minmax(0, 1fr) auto; grid-template-areas: "img name name" "img price remove" "img amount result"; gap: 6px 10px; padding: 12px 0; align-items: center; }
	.tpm .table-cart table#purchases tr + tr { border-top: 1px solid var(--line); }
	.tpm .table-cart table#purchases tr + tr td { border-top: 0; }
	.tpm .table-cart table#purchases td { display: block; padding: 0 !important; width: auto !important; }
	.tpm .table-cart table#purchases td.image { grid-area: img; align-self: start; }
	.tpm .table-cart table#purchases td.image img { max-width: 64px; }
	.tpm .table-cart table#purchases td.name { grid-area: name; font-size: 14px; }
	.tpm .table-cart table#purchases td.price { grid-area: price; font-size: 13px !important; }
	.tpm .table-cart table#purchases td.amount { grid-area: amount; }
	.tpm .table-cart table#purchases td.price.result { grid-area: result; font-size: 17px !important; text-align: right; }
	.tpm .table-cart table#purchases td.remove { grid-area: remove; text-align: right; }
	.tpm p.summ { font-size: 15px !important; padding: 14px !important; }
	.tpm p.summ span, .tpm p.summ b, .tpm p.summ strong { font-size: 20px; }
	.tpm .atten, .tpm .deliv, .tpm .cart_form { width: auto !important; float: none !important; margin: 0 0 14px !important; padding: 14px !important; }
	.tpm input.button_submit { width: 100% !important; }
	.tpm #overlay .popup { justify-content: space-between; }
	.tpm #overlay .popup p { font-size: 12px; text-align: left; }
}
@media (max-width: 359px) {
	.tpm .catalog { grid-template-columns: minmax(0, 1fr); }
}
.tpm #footer .tp-share { margin: 0 !important; }

/* ==========================================================================
   v3 — review fixes (2026-11-04)
   ========================================================================== */
/* 4. one flat background everywhere */
html.tpm, .tpm body { background: var(--bg) !important; background-image: none !important; }
.tpm body { min-height: 100vh; }
.tpm .wrapper, .tpm #main, .tpm .container, .tpm #right_side, .tpm #left_side, .tpm #right_container { background: transparent !important; background-image: none !important; }

/* 1 / 11. header rhythm: gap under logo + phones row, CTA centred */
@media (min-width: 1000px) {
	.tpm #logo, .tpm #header .numbers { margin-bottom: 20px !important; }
	.tpm a.call-form { margin: 0 0 0 auto !important; align-self: center; position: static !important; top: auto !important; }
	.tpm #header .numbers > * { align-self: center; }
}
/* 5. top strip icons on the text line */
.tpm .tpm-top .tpm-info > a, .tpm .tpm-top .tpm-info > span { display: inline-flex; align-items: center; gap: 6px; line-height: 1; }
.tpm .tpm-top .tpm-info span span { display: inline; }
.tpm .tpm-top svg { display: block; }
/* 6. phones: smaller numbers, bigger icons */
.tpm #header .numbers p.lcol a[href^="tel"] { font-size: 18px !important; gap: 10px; }
.tpm #header .numbers p.lcol a[href^="tel"]:before { width: 38px; height: 38px; flex: 0 0 38px; background-size: 20px; }
@media (min-width: 1000px) and (max-width: 1259px) { .tpm #header .numbers p.lcol a[href^="tel"] { font-size: 16px !important; } }
/* 2. whole cart button clickable */
.tpm #cart_informer .cart-container { cursor: pointer; transition: background .15s, border-color .15s; }
.tpm #cart_informer .cart-container.empty:hover { border-color: var(--b) !important; }
.tpm #cart_informer .cart-container:not(.empty):hover { background: var(--r-d) !important; border-color: var(--r-d) !important; }
/* 3. banner pagination: lower, 50% bigger */
.tpm .sliderbox .slider-pag, .tpm .sliderbox .slider-pag-mobile {
	position: absolute !important; left: 0 !important; right: 0 !important; bottom: 12px !important; top: auto !important; width: auto !important; height: auto !important;
	display: flex !important; justify-content: center; align-items: center; gap: 8px; margin: 0 !important; padding: 0 !important; z-index: 6;
}
.tpm .slider-pag a, .tpm .slider-pag-mobile a { width: 14px !important; height: 14px !important; border-radius: 7px !important; margin: 0 !important; float: none !important; }
.tpm .slider-pag a.selected, .tpm .slider-pag-mobile a.selected { width: 36px !important; }
/* 7. "Вы просматривали" */
.tpm #browsed_products .cont { display: grid !important; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 8px; }
.tpm #browsed_products .cont a { display: flex !important; align-items: center; justify-content: center; aspect-ratio: 1; background: #fff; border: 1px solid var(--line); border-radius: var(--rad-s); padding: 5px; box-sizing: border-box; margin: 0 !important; float: none !important; width: auto !important; height: auto !important; transition: border-color .15s, box-shadow .15s; }
.tpm #browsed_products .cont a:hover { border-color: var(--b); box-shadow: 0 2px 8px rgba(23, 163, 210, .2); }
.tpm #browsed_products .cont img { max-width: 100% !important; max-height: 100% !important; width: auto !important; height: auto !important; border: 0 !important; border-radius: 0 !important; margin: 0 !important; }
/* 8. floating WhatsApp + back-to-top */
.tpm .float-button { background: #25d366 url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 24 24%22%3E%3Cpath fill=%22%23fff%22 d=%22M12 3.5a8.4 8.4 0 0 0-7.3 12.6L3.5 20.5l4.5-1.2A8.4 8.4 0 1 0 12 3.5zm0 15.3c-1.3 0-2.6-.4-3.7-1l-.3-.2-2.6.7.7-2.6-.2-.3a6.9 6.9 0 1 1 6.1 3.4zm3.8-5.2c-.2-.1-1.2-.6-1.4-.7-.2-.1-.3-.1-.5.1l-.6.8c-.1.1-.2.2-.4.1a5.6 5.6 0 0 1-2.8-2.4c-.2-.4.2-.4.6-1.2.1-.1 0-.3 0-.4l-.6-1.5c-.2-.4-.3-.3-.5-.3h-.4c-.1 0-.4.1-.6.3-.2.2-.8.8-.8 1.9s.8 2.2.9 2.3c.1.2 1.6 2.5 4 3.5 1.5.6 2 .7 2.8.6.4-.1 1.2-.5 1.4-1 .2-.5.2-.9.1-1l-.4-.2z%22/%3E%3C/svg%3E") no-repeat center / 32px !important; box-shadow: 0 6px 18px rgba(37, 211, 102, .4) !important; z-index: 900 !important; transition: transform .15s; }
.tpm .float-button:hover { transform: scale(1.06); }
.tpm .float-button img { display: none !important; }
.tpm .tpm-up {
	position: fixed; right: 28px; bottom: 92px; width: 48px; height: 48px; border-radius: 50%; border: 0; background: #fff; color: var(--b-d); box-shadow: 0 6px 18px rgba(10, 60, 90, .18); padding: 0;
	display: flex; align-items: center; justify-content: center; cursor: pointer; z-index: 900; opacity: 0; visibility: hidden; transform: translateY(10px); transition: opacity .2s, transform .2s, visibility .2s, background .15s, color .15s;
}
.tpm .tpm-up svg { width: 22px; height: 22px; }
.tpm .tpm-up.tpm-show { opacity: 1; visibility: visible; transform: none; }
.tpm .tpm-up:hover { background: var(--b); color: #fff; }
@media (max-width: 999px) { .tpm .tpm-up { right: 16px; bottom: 78px; } }
/* 9. text pages */
.tpm .tpm-prose { background: #fff; border: 1px solid var(--line); border-radius: var(--rad); box-shadow: var(--sh); padding: 28px 32px; color: var(--ink-2); font-size: 15px; line-height: 1.65; margin: 0 0 var(--gap); overflow-wrap: anywhere; }
.tpm .tpm-prose > :first-child { margin-top: 0 !important; }
.tpm .tpm-prose > :last-child { margin-bottom: 0 !important; }
.tpm .tpm-prose h1, .tpm .tpm-prose h2 { font-size: 21px !important; font-weight: 600 !important; color: var(--ink) !important; margin: 28px 0 12px !important; line-height: 1.3 !important; display: block !important; padding: 0 !important; background: none !important; }
.tpm .tpm-prose h1:before, .tpm .tpm-prose h2:before { display: none !important; }
.tpm .tpm-prose h3, .tpm .tpm-prose h4 { font-size: 17px !important; font-weight: 600 !important; color: var(--ink) !important; margin: 22px 0 10px !important; line-height: 1.35 !important; }
.tpm .tpm-prose p { margin: 0 0 12px !important; }
.tpm .tpm-prose p:empty { display: none; }
.tpm .tpm-prose strong, .tpm .tpm-prose b { color: var(--ink); font-weight: 600; }
.tpm .tpm-prose a { color: var(--b-d); text-decoration: underline; text-decoration-color: rgba(13, 141, 187, .35); text-underline-offset: 3px; }
.tpm .tpm-prose a:hover { color: var(--b-dd); text-decoration-color: currentColor; }
.tpm .tpm-prose ul, .tpm .tpm-prose ol { margin: 0 0 14px !important; padding: 0 0 0 22px !important; }
.tpm .tpm-prose li { margin: 0 0 6px !important; padding: 0 !important; background: none !important; }
.tpm .tpm-prose ul > li { list-style: none; position: relative; }
.tpm .tpm-prose ul > li:before { content: ""; position: absolute; left: -16px; top: .62em; width: 6px; height: 6px; border-radius: 50%; background: var(--b); display: block !important; }
.tpm .tpm-prose img { max-width: 100% !important; height: auto !important; border-radius: var(--rad-s); }
.tpm .tpm-prose table { border-collapse: collapse; max-width: 100%; margin: 0 0 16px; font-size: 14px; display: block; overflow-x: auto; }
.tpm .tpm-prose table td, .tpm .tpm-prose table th { border: 1px solid var(--line) !important; padding: 8px 12px !important; text-align: left; vertical-align: top; }
.tpm .tpm-prose table th { background: var(--b-ll); color: var(--ink); font-weight: 500; }
.tpm .tpm-prose span[style*="font-size"], .tpm .tpm-prose font { font-size: inherit !important; }
.tpm .tpm-prose iframe { max-width: 100%; border-radius: var(--rad-s); }
@media (max-width: 999px) { .tpm .tpm-prose { padding: 18px 16px; font-size: 14.5px; } .tpm .tpm-prose h1, .tpm .tpm-prose h2 { font-size: 18px !important; } }
/* 10. bottom notice — single line */
.tpm #overlay .popup p, .tpm #overlay .popup p.ov-text { display: block !important; margin: 0 !important; font-size: 13px !important; }
/* 10b. prev / next product */
.tpm #back_forward { display: grid !important; grid-template-columns: 1fr 1fr; gap: 16px; margin: 32px 0 var(--gap) !important; font-size: 0 !important; padding: 0 !important; border: 0 !important; width: auto !important; }
.tpm #back_forward a {
	position: relative; display: flex !important; flex-direction: column; gap: 4px; justify-content: center; min-height: 72px; box-sizing: border-box; padding: 14px 18px 14px 58px !important;
	background: #fff !important; border: 1px solid var(--line) !important; border-radius: var(--rad) !important; box-shadow: var(--sh); color: var(--ink) !important; text-decoration: none !important;
	font-size: 14px !important; font-weight: 500; line-height: 1.35; transition: border-color .15s, box-shadow .15s; float: none !important; width: auto !important; margin: 0 !important;
}
.tpm #back_forward a:before { content: "Предыдущий товар"; font-size: 12px; font-weight: 400; color: var(--mute); }
.tpm #back_forward a.forward:before { content: "Следующий товар"; }
.tpm #back_forward a:after {
	content: ""; position: absolute; left: 14px; top: 50%; width: 32px; height: 32px; margin-top: -16px; border-radius: 50%;
	background: var(--b-l) url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 24 24%22 fill=%22none%22 stroke=%22%230d8dbb%22 stroke-width=%222.4%22 stroke-linecap=%22round%22 stroke-linejoin=%22round%22%3E%3Cpath d=%22M15 18l-6-6 6-6%22/%3E%3C/svg%3E") no-repeat center / 16px;
}
.tpm #back_forward a.forward { grid-column: 2; padding: 14px 58px 14px 18px !important; text-align: right; align-items: flex-end; }
.tpm #back_forward a.forward:after { left: auto; right: 14px; transform: scaleX(-1); }
.tpm #back_forward a:hover { border-color: var(--b) !important; box-shadow: var(--sh-h); }
@media (max-width: 767px) { .tpm #back_forward { grid-template-columns: 1fr; gap: 10px; } .tpm #back_forward a.forward { grid-column: 1; } }
/* 12. brands list: no jQuery slide, a clean fade */
.tpm #all_brands .brands-cont { display: none !important; }
.tpm #all_brands.tpm-bopen .brands-cont { display: block !important; animation: tpmFade .18s ease-out; border-top: 1px solid var(--line); padding-top: 12px; max-height: 420px; overflow-y: auto; }
.tpm #all_brands > span:after { transition: transform .2s; }
.tpm #all_brands.tpm-bopen > span:after { transform: rotate(-135deg) translate(-3px, -1px); }
.tpm #all_brands > span:hover { color: var(--b-dd) !important; }
@keyframes tpmFade { from { opacity: 0; transform: translateY(-4px); } to { opacity: 1; transform: none; } }
/* 13 / 15. drawer: arrows in one straight column, messengers in head */
@media (max-width: 999px) {
	.tpm .tpm-row { align-items: center; min-height: 48px; }
	.tpm .tpm-row > a { min-height: 48px; }
	.tpm .tpm-exp { flex: 0 0 40px; width: 40px; height: 40px; margin: 0 10px 0 4px; border: 0; border-radius: 10px; background: var(--b-ll); color: var(--b-d); align-self: center; }
	.tpm .tpm-sub .tpm-exp { background: none; }
	.tpm .tpm-dhead .tpm-dmsg { display: flex; gap: 6px; margin-left: auto; }
	.tpm .tpm-dhead .tpm-dmsg a { line-height: 0; }
	.tpm .tpm-dhead .tpm-dmsg img { width: 30px; height: 30px; border-radius: 8px; display: block; }
	.tpm .tpm-dhead .tpm-dmsg + .tpm-ibtn { margin-left: 4px; }
}
/* 14. image viewer (fancyBox 2) */
.tpm .fancybox-overlay { background: rgba(8, 28, 40, .88) !important; backdrop-filter: blur(4px); }
.tpm .fancybox-skin { border-radius: 16px !important; padding: 12px !important; background: #fff !important; box-shadow: 0 24px 70px rgba(0, 0, 0, .45) !important; }
.tpm .fancybox-inner { border-radius: 10px; }
.tpm .fancybox-close {
	top: -18px !important; right: -18px !important; width: 42px !important; height: 42px !important; border-radius: 50%;
	background: #fff url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 24 24%22 fill=%22none%22 stroke=%22%2317262f%22 stroke-width=%222.2%22 stroke-linecap=%22round%22%3E%3Cpath d=%22M6 6l12 12M18 6L6 18%22/%3E%3C/svg%3E") no-repeat center / 18px !important; box-shadow: 0 4px 14px rgba(0, 0, 0, .3);
}
.tpm .fancybox-close:hover { background-color: var(--b-l) !important; }
.tpm .fancybox-nav { width: 70px !important; }
.tpm .fancybox-nav span {
	visibility: visible !important; width: 46px !important; height: 46px !important; margin-top: -23px !important; border-radius: 50%; opacity: .92;
	background: #fff url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 24 24%22 fill=%22none%22 stroke=%22%230d8dbb%22 stroke-width=%222.4%22 stroke-linecap=%22round%22 stroke-linejoin=%22round%22%3E%3Cpath d=%22M15 18l-6-6 6-6%22/%3E%3C/svg%3E") no-repeat center / 20px !important; box-shadow: 0 4px 14px rgba(0, 0, 0, .25);
}
.tpm .fancybox-prev span { left: 14px !important; }
.tpm .fancybox-next span { right: 14px !important; transform: scaleX(-1); }
.tpm .fancybox-nav:hover span { opacity: 1; }
/* order / success page */
.tpm .order-wrapper, .tpm .order_info { background: #fff; border: 1px solid var(--line); border-radius: var(--rad); box-shadow: var(--sh); padding: var(--pad) !important; margin: 0 0 var(--gap) !important; color: var(--ink-2); box-sizing: border-box; width: auto !important; float: none !important; }
.tpm .order_info td, .tpm .order_info th { padding: 8px 10px !important; border-bottom: 1px solid var(--line); text-align: left; }
.tpm .message { background: var(--b-ll); border: 1px solid #c9e7f3; border-left: 4px solid var(--b); border-radius: var(--rad); padding: 14px 18px !important; color: var(--ink); margin: 0 0 var(--gap) !important; }
/* brand logo rows inside category descriptions */
.tpm p.tpm-brandrow { display: flex; flex-wrap: wrap; align-items: stretch; gap: 10px; margin: 0 0 var(--gap) !important; font-size: 0 !important; line-height: 0; }
.tpm p.tpm-brandrow > a, .tpm p.tpm-brandrow > span > a { display: flex; align-items: center; justify-content: center; width: 156px; height: 68px; padding: 10px 14px; box-sizing: border-box; background: #fff; border: 1px solid var(--line); border-radius: var(--rad); box-shadow: var(--sh); transition: border-color .15s, box-shadow .15s, transform .15s; }
.tpm p.tpm-brandrow > a:hover, .tpm p.tpm-brandrow > span > a:hover { border-color: var(--b); box-shadow: var(--sh-h); transform: translateY(-1px); }
.tpm p.tpm-brandrow img { max-width: 100% !important; max-height: 44px !important; width: auto !important; height: auto !important; object-fit: contain; mix-blend-mode: multiply; border: 0 !important; margin: 0 !important; }
.tpm p.tpm-brandrow > span { display: contents; }
.tpm p.tpm-brandrow > img:not([src*="uploads/brands"]) { display: none; }
@media (max-width: 767px) { .tpm p.tpm-brandrow > a, .tpm p.tpm-brandrow > span > a { width: calc(50% - 5px); height: 60px; } }
/* v3.1 */
.tpm #all_brands.tpm-bopen .brands-cont { columns: auto !important; column-count: auto !important; display: grid !important; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0 12px; width: auto !important; height: auto !important; max-height: 360px; overflow-y: auto; padding: 12px 18px 14px !important; }
.tpm #all_brands .brands-cont a { white-space: nowrap; overflow: hidden; text-overflow: ellipsis; float: none !important; width: auto !important; }
.tpm #browsed_products .h2 { letter-spacing: 0 !important; text-align: left !important; text-transform: none !important; font-size: 15px !important; font-weight: 500 !important; padding: 0 !important; background: none !important; }
.tpm #browsed_products { padding: 14px 16px 16px !important; }
.tpm .tpm-prose ul.tpm-nolist { padding: 0 !important; display: flex; flex-wrap: wrap; gap: 14px; }
.tpm .tpm-prose ul.tpm-nolist > li:before { display: none !important; }
.tpm .tpm-prose ul.tpm-nolist > li { margin: 0 !important; display: block !important; width: 150px; text-align: center; float: none !important; }
.tpm .tpm-prose ul.tpm-nolist > li img { display: block; margin: 0 auto 8px; max-height: 60px !important; width: auto !important; }
.tpm .product-tabs-body-container { background: #fff; border: 1px solid var(--line); border-top: 0; border-radius: 0 0 var(--rad) var(--rad); box-shadow: var(--sh); padding: 24px 28px !important; }
.tpm .product-tabs-header-container { background: #fff; border: 1px solid var(--line) !important; border-bottom: 2px solid var(--line) !important; border-radius: var(--rad) var(--rad) 0 0; padding: 0 12px; }
@media (max-width: 767px) { .tpm .product-tabs-body-container { padding: 16px 14px !important; } .tpm .product-tabs-header-container { padding: 0 4px; } }
/* order (success) page */
.tpm .order-wrapper h1 { font-size: 24px !important; margin: 0 0 16px !important; }
.tpm .order-wrapper h2 { font-size: 19px !important; font-weight: 600 !important; color: var(--ink) !important; margin: 24px 0 12px !important; display: flex; align-items: center; gap: 10px; }
.tpm .order-wrapper h2:before { content: ""; flex: 0 0 4px; width: 4px; height: 20px; border-radius: 2px; background: var(--b); }
.tpm .order-wrapper .message { margin: 0 0 10px !important; }
.tpm .order-wrapper table#purchases { width: 100%; border: 1px solid var(--line) !important; border-radius: var(--rad); border-collapse: separate; border-spacing: 0; overflow: hidden; background: #fff !important; background-image: none !important; box-shadow: none !important; }
.tpm .order-wrapper table#purchases td, .tpm .order-wrapper table#purchases th { background: none !important; padding: 12px 14px !important; border: 0 !important; border-bottom: 1px solid var(--line) !important; vertical-align: middle; text-align: left; color: var(--ink-2); font-weight: 400; }
.tpm .order-wrapper table#purchases td img { border: 1px solid var(--line); border-radius: 6px; display: block; }
.tpm .order-wrapper table#purchases td.name a { color: var(--ink) !important; font-weight: 500; text-decoration: none; }
.tpm .order-wrapper table#purchases tr td:last-child, .tpm .order-wrapper table#purchases tr th:last-child { text-align: right; color: var(--ink); font-weight: 600; white-space: nowrap; }
.tpm .order-wrapper table#purchases tr:last-child th, .tpm .order-wrapper table#purchases tr:last-child td { background: var(--b-l) !important; border-bottom: 0 !important; color: var(--ink); font-weight: 600; font-size: 16px; }
.tpm .order-wrapper table#purchases tr:last-child th:last-child { color: var(--b-dd); font-size: 19px; }
.tpm .order-wrapper table:not(#purchases) { border-collapse: collapse; }
.tpm .order-wrapper table:not(#purchases) td { border: 1px solid var(--line) !important; padding: 8px 12px !important; }
@media (max-width: 767px) {
	.tpm .order-wrapper h1 { font-size: 20px !important; }
	.tpm .order-wrapper table#purchases, .tpm .order-wrapper table#purchases tbody { display: block; }
	.tpm .order-wrapper table#purchases tr { display: grid; grid-template-columns: 52px minmax(0, 1fr) auto; gap: 4px 10px; padding: 12px; border-bottom: 1px solid var(--line); align-items: center; }
	.tpm .order-wrapper table#purchases tr:last-child { border-bottom: 0; background: var(--b-l); }
	.tpm .order-wrapper table#purchases td, .tpm .order-wrapper table#purchases th { display: block; padding: 0 !important; border: 0 !important; background: none !important; }
	.tpm .order-wrapper table#purchases > tbody > tr > :nth-child(1) { grid-column: 1; grid-row: 1 / span 3; align-self: start; }
	.tpm .order-wrapper table#purchases > tbody > tr > :nth-child(2) { grid-column: 2 / span 2; grid-row: 1; }
	.tpm .order-wrapper table#purchases > tbody > tr > :nth-child(3) { grid-column: 2; grid-row: 2; font-size: 13px; }
	.tpm .order-wrapper table#purchases > tbody > tr > :nth-child(4) { grid-column: 3; grid-row: 2; font-size: 13px; text-align: right; }
	.tpm .order-wrapper table#purchases > tbody > tr > :nth-child(5) { grid-column: 2 / span 2; grid-row: 3; text-align: right; }
	.tpm .order-wrapper table#purchases tr:last-child > :nth-child(1):empty { display: none; }
	.tpm .order-wrapper table#purchases tr:last-child { grid-template-columns: minmax(0, 1fr) auto; }
	.tpm .order-wrapper table#purchases tr:last-child > :nth-child(2) { grid-column: 1; grid-row: 1; }
	.tpm .order-wrapper table#purchases tr:last-child > :nth-child(5), .tpm .order-wrapper table#purchases tr:last-child > :last-child { grid-column: 2; grid-row: 1; }
	.tpm .order-wrapper table#purchases tr:last-child > :nth-child(3):empty, .tpm .order-wrapper table#purchases tr:last-child > :nth-child(4):empty { display: none; }
}
/* cart polish */
.tpm table#purchases td, .tpm table#purchases th, .tpm table#purchases tr { height: auto !important; min-height: 0 !important; line-height: 1.4 !important; }
.tpm p.summ { font-size: 16px !important; font-weight: 500 !important; flex-wrap: wrap; }
.tpm p.summ span, .tpm p.summ b, .tpm p.summ strong { font-size: 22px !important; }
.tpm .atten { float: none !important; width: auto !important; margin: 0 0 16px !important; padding: 16px 20px !important; }
.tpm .deliv, .tpm .cart_form, .tpm .form.cart_form { width: auto !important; float: none !important; max-width: none !important; }
.tpm .deliv { padding: 4px 20px !important; margin: 0 0 8px !important; }
.tpm .cart_form .biginp, .tpm .cart_form input.biginp, .tpm .cart_form textarea.biginp { width: 100% !important; }
@media (max-width: 767px) { .tpm p.summ { font-size: 14px !important; } .tpm p.summ span, .tpm p.summ b, .tpm p.summ strong { font-size: 19px !important; } .tpm .deliv { padding: 2px 14px !important; } }

/* ==========================================================================
   v4 (2026-11-04, review 3)
   ========================================================================== */
/* 1. floating buttons: WhatsApp above, square "up" below, centred on one axis */
.tpm .float-button { right: 24px !important; bottom: 88px !important; }
.tpm .tpm-up { right: 28px; bottom: 28px; width: 48px; height: 48px; border-radius: 12px; }
@media (max-width: 999px) {
	.tpm .float-button { right: 16px !important; bottom: 72px !important; }
	.tpm .tpm-up { right: 18px; bottom: 16px; width: 48px; height: 48px; border-radius: 12px; }
}

/* 2. discounts page: brand cards grid */

/* 3. mobile: no extra strip; messengers live in the top bar */
.tpm .tpm-strip { display: none !important; }
@media (max-width: 999px) {
	.tpm .tpm-bar .tpm-bmsg { display: flex; align-items: center; gap: 6px; margin-right: 2px; }
	.tpm .tpm-bar .tpm-bmsg a { line-height: 0; display: block; }
	.tpm .tpm-bar .tpm-bmsg img { width: 30px; height: 30px; border-radius: 8px; display: block; }
	.tpm .tpm-bar .tpm-logo img { height: 32px; }
	.tpm .searchbox { margin-top: 14px !important; }
}
@media (max-width: 359px) { .tpm .tpm-bar .tpm-bmsg img { width: 26px; height: 26px; } }

/* 4. prev / next — equal height, same row */
.tpm #back_forward { align-items: stretch; }
.tpm #back_forward a.back { grid-column: 1; }
.tpm #back_forward a { height: 100%; }

/* 6. contacts */
.tpm .tp-contacts { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px; margin: 0 0 18px; }
.tpm .tp-c-card { display: flex; gap: 14px; align-items: flex-start; padding: 18px; border: 1px solid var(--line); border-radius: var(--rad); background: var(--b-ll); }
.tpm .tp-c-card h3 { font-size: 15px !important; font-weight: 600 !important; margin: 2px 0 6px !important; color: var(--ink) !important; }
.tpm .tp-c-card p { margin: 0 !important; color: var(--ink-2); line-height: 1.55; }
.tpm .tp-c-card a { text-decoration: none !important; }
.tpm .tp-c-card a.tp-c-tel { color: var(--ink) !important; font-weight: 600; font-size: 17px; line-height: 1.8; }
.tpm .tp-c-card a.tp-c-tel:hover { color: var(--b-d) !important; }
.tpm .tp-c-ic { flex: 0 0 44px; width: 44px; height: 44px; border-radius: 12px; background-color: var(--b); background-repeat: no-repeat; background-position: center; background-size: 22px; box-shadow: 0 4px 12px rgba(23, 163, 210, .3); }
.tpm .tp-c-pin { background-image: url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 24 24%22 fill=%22none%22 stroke=%22%23fff%22 stroke-width=%222%22 stroke-linecap=%22round%22 stroke-linejoin=%22round%22%3E%3Cpath d=%22M12 21s-7-6.2-7-11.5a7 7 0 0 1 14 0C19 14.8 12 21 12 21z%22/%3E%3Ccircle cx=%2212%22 cy=%229.5%22 r=%222.5%22/%3E%3C/svg%3E"); }
.tpm .tp-c-time { background-image: url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 24 24%22 fill=%22none%22 stroke=%22%23fff%22 stroke-width=%222%22 stroke-linecap=%22round%22%3E%3Ccircle cx=%2212%22 cy=%2212%22 r=%229%22/%3E%3Cpath d=%22M12 7v5l3 2%22/%3E%3C/svg%3E"); }
.tpm .tp-c-phone { background-image: url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 24 24%22 fill=%22none%22 stroke=%22%23fff%22 stroke-width=%222%22 stroke-linecap=%22round%22 stroke-linejoin=%22round%22%3E%3Cpath d=%22M5 4h3l1.6 4-2 1.3a11 11 0 0 0 7.1 7.1l1.3-2 4 1.6v3a2 2 0 0 1-2 2A16 16 0 0 1 3 6a2 2 0 0 1 2-2z%22/%3E%3C/svg%3E"); }
.tpm .tp-c-mail { background-image: url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 24 24%22 fill=%22none%22 stroke=%22%23fff%22 stroke-width=%222%22 stroke-linecap=%22round%22 stroke-linejoin=%22round%22%3E%3Crect x=%223%22 y=%225%22 width=%2218%22 height=%2214%22 rx=%222%22/%3E%3Cpath d=%22M3.5 6.5l8.5 6 8.5-6%22/%3E%3C/svg%3E"); }
.tpm .tp-c-note { background: #fff7f8; border: 1px solid #ffd3dc; border-left: 4px solid var(--r); border-radius: var(--rad); padding: 14px 18px; margin: 0 0 18px; }
.tpm .tp-c-note p { margin: 0 0 4px !important; }
.tpm .tp-c-note p:last-child { margin: 0 !important; }
.tpm .tp-c-map { border-radius: var(--rad); overflow: hidden; border: 1px solid var(--line); line-height: 0; }
.tpm .tp-c-map iframe { display: block; border: 0; border-radius: 0 !important; }
@media (max-width: 767px) { .tpm .tp-contacts { grid-template-columns: 1fr; gap: 10px; } .tpm .tp-c-card { padding: 14px; } }

/* 7. product buy box: clean rows with spacing */
.tpm .product .rcol form.cart { display: flex !important; flex-wrap: wrap; align-items: center; gap: 12px 18px; }
.tpm .product .rcol form.cart > * { margin: 0 !important; float: none !important; }
.tpm .product .rcol form.cart > br { display: none; }
.tpm .product .rcol form.cart > :first-child, .tpm .product .rcol form.cart .heated-area { flex: 1 0 100%; }
.tpm .product .rcol form.cart .add_to_cart { flex: 0 0 auto; margin-top: 4px !important; }
@media (max-width: 767px) { .tpm .product .rcol form.cart .add_to_cart { flex: 1 0 100%; } .tpm .product .rcol form.cart select { flex: 0 0 auto; } }
/* page scrolls on the window again (old mobile CSS made <body> the scroller) */
html.tpm, .tpm body { overflow-x: hidden; overflow-x: clip !important; overflow-y: visible !important; height: auto !important; min-height: 100%; }
.tpm #back_forward a.back { text-align: left; align-items: flex-start; }

/* ==========================================================================
   v5 — site-wide scan fixes (2026-11-04)
   ========================================================================== */
/* account forms (login / register / password remind) */
.tpm #right_container > form.form {
	max-width: 460px; background: #fff; border: 1px solid var(--line); border-radius: var(--rad); box-shadow: var(--sh); padding: 24px !important; margin: 0 0 var(--gap) !important;
	display: flex; flex-direction: column; gap: 6px; box-sizing: border-box; width: auto !important; float: none !important;
}
.tpm #right_container > form.form label { font-size: 13px !important; color: var(--ink-2) !important; margin: 8px 0 0 !important; float: none !important; width: auto !important; }
.tpm #right_container > form.form label a { color: var(--b-d) !important; }
.tpm #right_container > form.form input[type=text], .tpm #right_container > form.form input[type=password] { width: 100% !important; height: 44px; margin: 0 !important; float: none !important; }
.tpm #right_container > form.form .button_submit, .tpm #right_container > form.form input[type=submit] { width: 100% !important; margin: 16px 0 0 !important; float: none !important; height: 48px !important; line-height: 48px !important; padding: 0 !important; }
.tpm #right_container > form.form .captcha, .tpm #right_container > form.form img { border-radius: 6px; }
.tpm .message_error { background: #fff4f6; border: 1px solid #ffd0da; border-left: 4px solid var(--r); color: var(--ink); border-radius: var(--rad); padding: 12px 16px !important; margin: 0 0 16px !important; max-width: 460px; box-sizing: border-box; }

/* "nothing found" and other loose text right after the filters */
.tpm .tpm-empty { background: #fff; border: 1px solid var(--line); border-radius: var(--rad); box-shadow: var(--sh); padding: 28px 24px; color: var(--ink-2); font-size: 15px; line-height: 1.6; margin: 0 0 var(--gap); text-align: center; }
.tpm .tpm-empty:before { content: ""; display: block; width: 56px; height: 56px; margin: 0 auto 12px; border-radius: 50%; background: var(--b-l) url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 24 24%22 fill=%22none%22 stroke=%22%230d8dbb%22 stroke-width=%222%22 stroke-linecap=%22round%22%3E%3Ccircle cx=%2211%22 cy=%2211%22 r=%226.5%22/%3E%3Cpath d=%22M16 16l4.5 4.5%22/%3E%3C/svg%3E") no-repeat center / 26px; }
.tpm .tpm-empty a { color: var(--b-d); }
.tpm .tpm-empty p { margin: 0 0 6px !important; }

/* "Хит" ribbons -> modern badge */
.tpm .catalog .item .hit, .tpm .hot-box .hot-cont .item a.img-cont .hot {
	background: var(--r) !important; width: auto !important; height: auto !important; top: 10px !important; right: 10px !important; left: auto !important; transform: none !important;
	border-radius: 999px !important; padding: 3px 10px; box-shadow: 0 3px 8px rgba(251, 0, 53, .3); z-index: 3;
}
.tpm .catalog .item .hit:after, .tpm .hot-box .hot-cont .item a.img-cont .hot:after { content: "Хит"; color: #fff; font-size: 11px; font-weight: 600; letter-spacing: .04em; text-transform: uppercase; line-height: 1.4; }
.tpm .hot-box .hot-cont .item a.img-cont .hot { top: 6px !important; right: 6px !important; padding: 2px 8px; }
.tpm .hot-box .hot-cont .item a.img-cont .hot:after { font-size: 10px; }
.tpm .hot-box .hot-wrap { box-shadow: none !important; }

/* logo rows from category descriptions (any images in links, not only /uploads/brands) */
.tpm p.tpm-brandrow img { mix-blend-mode: multiply; }
/* overflow guards for user content */
.tpm #right_container img { max-width: 100%; height: auto; }
.tpm #right_container pre { white-space: normal !important; font-family: var(--font) !important; font-size: inherit; overflow-wrap: anywhere; }
.tpm .product-tabs-header-container, .tpm .product-tabs-body-container, .tpm #back_forward { max-width: 100% !important; box-sizing: border-box !important; min-width: 0; }
.tpm .product-tabs-body-container *, .tpm .product_description * { max-width: 100%; box-sizing: border-box; }
.tpm .product_description { overflow-wrap: anywhere; }
.tpm .product_description table { display: block; overflow-x: auto; width: auto !important; }
.tpm #right_container ul.cat-buttons { display: grid; grid-template-columns: repeat(auto-fill, minmax(150px, 1fr)); gap: 12px; padding: 0 !important; margin: 0 0 var(--gap) !important; }
.tpm #right_container ul.cat-buttons > li { list-style: none; margin: 0 !important; float: none !important; width: auto !important; background: #fff; border: 1px solid var(--line); border-radius: var(--rad); padding: 12px !important; text-align: center; }
.tpm #right_container ul.cat-buttons > li:before { display: none !important; }
.tpm #right_container ul.cat-buttons > li a { text-decoration: none; color: var(--ink) !important; font-weight: 500; }
.tpm #right_container ul.cat-buttons > li img { display: block; margin: 0 auto 8px; max-height: 120px; width: auto; }
.tpm pre.tpm-brandrow { display: flex; flex-wrap: wrap; gap: 10px; font-size: 0 !important; margin: 0 0 var(--gap) !important; }
.tpm pre.tpm-brandrow > a { display: flex; align-items: center; justify-content: center; width: 156px; height: 68px; padding: 10px 14px; box-sizing: border-box; background: #fff; border: 1px solid var(--line); border-radius: var(--rad); box-shadow: var(--sh); }
.tpm pre.tpm-brandrow img { max-height: 44px !important; width: auto !important; max-width: 100% !important; mix-blend-mode: multiply; }
.tpm pre.tpm-brandrow > span { display: none; }
@media (max-width: 767px) { .tpm pre.tpm-brandrow > a { width: calc(50% - 5px); height: 60px; } }
.tpm .tpm-brandrow br, .tpm .tpm-brandrow > span:empty { display: none !important; }
.tpm .tpm-brandrow > span { display: contents !important; }
.tpm .tpm-brandrow > span > a { display: flex !important; }

/* ==========================================================================
   v6 — 2026-11-05: responsive banner slider, centred card price
   ========================================================================== */
.tpm .sliderbox.tpm-old-slider { display: none !important; }
.tpm .tpm-slider { position: relative; margin: 0 0 var(--gap); }
.tpm .tpm-sl-track { position: relative; aspect-ratio: 2883 / 951; border-radius: var(--rad); overflow: hidden; box-shadow: var(--sh); background: var(--b-l); }
.tpm .tpm-sl { position: absolute; inset: 0; display: block; opacity: 0; visibility: hidden; transition: opacity .6s ease, visibility .6s; }
.tpm .tpm-sl.on { opacity: 1; visibility: visible; z-index: 1; }
.tpm .tpm-sl picture, .tpm .tpm-sl img { display: block; width: 100% !important; height: 100% !important; max-width: none !important; }
.tpm .tpm-sl img { object-fit: cover; border: 0 !important; margin: 0 !important; }
.tpm .tpm-sl-dots { position: absolute; left: 0; right: 0; bottom: 12px; z-index: 3; display: flex; justify-content: center; gap: 8px; pointer-events: none; }
.tpm .tpm-sl-dots button { pointer-events: auto; width: 14px; height: 14px; border-radius: 7px; border: 0; padding: 0; cursor: pointer; background: rgba(255, 255, 255, .75); box-shadow: 0 1px 4px rgba(0, 0, 0, .25); transition: width .25s, background .25s; }
.tpm .tpm-sl-dots button.on { width: 36px; background: var(--b); }
@media (max-width: 600px) {
	.tpm .tpm-sl-track { aspect-ratio: 943 / 1536; }
	.tpm .tpm-sl-dots { position: static; margin-top: 12px; }
	.tpm .tpm-sl-dots button { background: #cfe6f0; box-shadow: none; }
	.tpm .tpm-sl-dots button.on { background: var(--b); }
}
.tpm .catalog .item .price, .tpm .catalog .item .compare_price { text-align: center !important; align-self: center; }
.tpm .hot-box .hot-cont .item .price { text-align: center !important; align-self: center; }


/* v7 — discounts page: rebuilt cards (modern.js normalises markup into .tpm-dc) */
.tpm #right_container .tpm-prose ul.cat-buttons.tpm-dgrid, .tpm .tpm-prose ul.cat-buttons.tpm-dgrid { display: grid !important; grid-template-columns: repeat(4, minmax(0, 1fr)) !important; gap: 16px !important; padding: 0 !important; margin: 20px 0 0 !important; list-style: none; }
.tpm #right_container .tpm-prose ul.tpm-dgrid > li, .tpm .tpm-prose ul.tpm-dgrid > li { margin: 0 !important; padding: 0 !important; float: none !important; width: auto !important; display: flex !important; background: none !important; border: 0 !important; box-shadow: none !important; border-radius: 0 !important; }
.tpm .tpm-prose ul.tpm-dgrid > li:before { display: none !important; }
.tpm .tpm-prose a.tpm-dc { position: relative; display: flex; flex-direction: column; align-items: center; width: 100%; box-sizing: border-box; padding: 20px 18px 18px; background: #fff; border: 1px solid var(--line); border-radius: var(--rad); box-shadow: var(--sh); text-decoration: none !important; color: var(--ink) !important; text-align: center; transition: border-color .15s, box-shadow .15s, transform .15s; }
.tpm .tpm-prose a.tpm-dc:hover { border-color: var(--b); box-shadow: var(--sh-h); transform: translateY(-2px); }
.tpm .tpm-prose .tpm-dc-logo { display: flex; align-items: center; justify-content: center; width: 100%; height: 64px; margin: 0 0 16px; padding-bottom: 16px; border-bottom: 1px dashed var(--line); box-sizing: content-box; }
.tpm .tpm-prose .tpm-dc-logo img { display: block !important; max-height: 52px !important; max-width: 82% !important; width: auto !important; height: auto !important; margin: 0 !important; border: 0 !important; border-radius: 0 !important; object-fit: contain; mix-blend-mode: multiply; }
.tpm .tpm-prose .tpm-dc-text { display: block; font-size: 14px !important; line-height: 1.45 !important; font-weight: 500; color: var(--ink-2) !important; margin: 0 0 16px; overflow-wrap: normal; word-break: normal; hyphens: manual; text-wrap: balance; }
.tpm .tpm-prose .tpm-dc-off { margin-top: auto; display: inline-flex; align-items: center; gap: 6px; background: var(--r); color: #fff !important; font-weight: 700; font-size: 18px; line-height: 1; padding: 9px 18px; border-radius: 999px; white-space: nowrap; box-shadow: 0 4px 12px rgba(251, 0, 53, .25); }
.tpm .tpm-prose .tpm-dc-off small { font-size: 12px; font-weight: 500; opacity: .9; }
@media (max-width: 1200px) { .tpm #right_container .tpm-prose ul.cat-buttons.tpm-dgrid { grid-template-columns: repeat(3, minmax(0, 1fr)) !important; } }
@media (max-width: 767px) {
	.tpm #right_container .tpm-prose ul.cat-buttons.tpm-dgrid { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; gap: 10px !important; }
	.tpm .tpm-prose a.tpm-dc { padding: 14px 10px 14px; }
	.tpm .tpm-prose .tpm-dc-logo { height: 44px; margin-bottom: 12px; padding-bottom: 12px; }
	.tpm .tpm-prose .tpm-dc-logo img { max-height: 40px !important; }
	.tpm .tpm-prose .tpm-dc-text { font-size: 12.5px !important; margin-bottom: 12px; }
	.tpm .tpm-prose .tpm-dc-off { font-size: 15px; padding: 7px 12px; }
	.tpm .tpm-prose .tpm-dc-off small { display: none; }
}
/* v8 — info pages: delivery / payment / special offers (2026-11-05) */
.tpm .tp-c-truck { background-image: url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 24 24%22 fill=%22none%22 stroke=%22%23fff%22 stroke-width=%222%22 stroke-linecap=%22round%22 stroke-linejoin=%22round%22%3E%3Cpath d=%22M2 6h12v10H2zM14 9h4l3 3.5V16h-7%22/%3E%3Ccircle cx=%226.5%22 cy=%2217.5%22 r=%221.8%22/%3E%3Ccircle cx=%2217%22 cy=%2217.5%22 r=%221.8%22/%3E%3C/svg%3E"); }
.tpm .tp-c-route { background-image: url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 24 24%22 fill=%22none%22 stroke=%22%23fff%22 stroke-width=%222%22 stroke-linecap=%22round%22 stroke-linejoin=%22round%22%3E%3Ccircle cx=%226%22 cy=%2218%22 r=%222%22/%3E%3Ccircle cx=%2218%22 cy=%226%22 r=%222%22/%3E%3Cpath d=%22M8 18h7.5a3.5 3.5 0 0 0 0-7h-7a3.5 3.5 0 0 1 0-7H16%22/%3E%3C/svg%3E"); }
.tpm .tp-c-box { background-image: url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 24 24%22 fill=%22none%22 stroke=%22%23fff%22 stroke-width=%222%22 stroke-linecap=%22round%22 stroke-linejoin=%22round%22%3E%3Cpath d=%22M3 7.5 12 3l9 4.5v9L12 21l-9-4.5zM3 7.5l9 4.5 9-4.5M12 12v9%22/%3E%3C/svg%3E"); }
.tpm .tp-c-store { background-image: url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 24 24%22 fill=%22none%22 stroke=%22%23fff%22 stroke-width=%222%22 stroke-linecap=%22round%22 stroke-linejoin=%22round%22%3E%3Cpath d=%22M4 10v10h16V10M3 7l2-4h14l2 4v1a3 3 0 0 1-6 0 3 3 0 0 1-6 0 3 3 0 0 1-6 0zM10 20v-5h4v5%22/%3E%3C/svg%3E"); }
.tpm .tp-c-cash { background-image: url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 24 24%22 fill=%22none%22 stroke=%22%23fff%22 stroke-width=%222%22 stroke-linecap=%22round%22 stroke-linejoin=%22round%22%3E%3Crect x=%222%22 y=%226%22 width=%2220%22 height=%2212%22 rx=%222%22/%3E%3Ccircle cx=%2212%22 cy=%2212%22 r=%222.5%22/%3E%3Cpath d=%22M6 12h.01M18 12h.01%22/%3E%3C/svg%3E"); }
.tpm .tp-c-paycard { background-image: url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 24 24%22 fill=%22none%22 stroke=%22%23fff%22 stroke-width=%222%22 stroke-linecap=%22round%22 stroke-linejoin=%22round%22%3E%3Crect x=%222%22 y=%225%22 width=%2220%22 height=%2214%22 rx=%222%22/%3E%3Cpath d=%22M2 10h20M6 15h4%22/%3E%3C/svg%3E"); }
.tpm .tp-c-bank { background-image: url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 24 24%22 fill=%22none%22 stroke=%22%23fff%22 stroke-width=%222%22 stroke-linecap=%22round%22 stroke-linejoin=%22round%22%3E%3Cpath d=%22M3 9.5 12 4l9 5.5M5 10v8M9.5 10v8M14.5 10v8M19 10v8M3 20h18%22/%3E%3C/svg%3E"); }
.tpm .tpm-prose .tp-lead { font-size: 16px; line-height: 1.6; color: var(--ink); margin: 0 0 8px !important; }
.tpm .tpm-prose .tp-lead + h2 { margin-top: 22px !important; }
.tpm .tpm-prose > h2:first-child { margin-top: 0 !important; }
.tpm .tp-blocks { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px; margin: 0 0 16px; }
.tpm .tp-blocks.tp-3 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.tpm .tp-blk { display: flex; gap: 16px; align-items: flex-start; padding: 20px; border: 1px solid var(--line); border-radius: var(--rad); background: var(--b-ll); min-width: 0; }
.tpm .tp-blk.tp-wide { grid-column: 1 / -1; }
.tpm .tp-blk.tp-col { flex-direction: column; gap: 14px; }
.tpm .tp-blk > div { min-width: 0; }
.tpm .tpm-prose .tp-blk h3 { font-size: 16px !important; font-weight: 600 !important; margin: 0 0 8px !important; color: var(--ink) !important; }
.tpm .tpm-prose .tp-blk p { margin: 0 0 6px !important; color: var(--ink-2); line-height: 1.55; }
.tpm .tpm-prose .tp-blk p:last-child { margin-bottom: 0 !important; }
.tpm .tpm-prose .tp-price { font-size: 24px; font-weight: 700; color: var(--b-d) !important; letter-spacing: -.01em; line-height: 1.2 !important; margin: 0 0 6px !important; }
.tpm .tpm-prose .tp-free { display: inline-block; background: #e5f8ec; color: #137a3c !important; font-weight: 500; font-size: 13.5px; border-radius: 999px; padding: 4px 12px; line-height: 1.4 !important; }
.tpm .tpm-prose .tp-small { font-size: 13.5px; color: var(--mute) !important; line-height: 1.55; }
.tpm .tpm-prose .tp-small a { color: var(--b-d) !important; font-weight: 600; text-decoration: none !important; white-space: nowrap; }
.tpm .tpm-prose .tp-c-note { margin: 0 0 12px; }
.tpm .tp-req { border: 1px solid var(--line); border-radius: var(--rad); overflow: hidden; }
.tpm .tp-req > div { display: grid; grid-template-columns: 200px minmax(0, 1fr); gap: 16px; padding: 11px 18px; border-bottom: 1px solid var(--line); }
.tpm .tp-req > div:nth-child(odd) { background: var(--b-ll); }
.tpm .tp-req > div:last-child { border-bottom: 0; }
.tpm .tp-req span { color: var(--mute); font-size: 14px; }
.tpm .tp-req b { color: var(--ink); font-weight: 500; font-size: 14.5px; overflow-wrap: anywhere; }
/* special offers */
.tpm .tp-promos { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 18px; margin: 0 0 18px; }
.tpm .tp-promo { display: flex; flex-direction: column; background: #fff; border: 1px solid var(--line); border-radius: var(--rad); overflow: hidden; box-shadow: var(--sh); transition: box-shadow .15s, transform .15s, border-color .15s; min-width: 0; }
.tpm .tp-promo:hover { box-shadow: var(--sh-h); transform: translateY(-2px); border-color: #b9e1f1; }
.tpm .tpm-prose .tp-promo-img { display: block; aspect-ratio: 2883 / 951; overflow: hidden; background: var(--b-l); line-height: 0; }
.tpm .tpm-prose .tp-promo-img img { display: block; width: 100% !important; height: 100% !important; object-fit: cover; margin: 0 !important; border: 0 !important; border-radius: 0 !important; max-width: none !important; }
.tpm .tpm-prose .tp-promo-img.tp-promo-sale { display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 6px; line-height: 1.1; text-decoration: none !important; background: linear-gradient(120deg, var(--b) 0%, var(--b-dd) 100%); color: #fff !important; text-align: center; }
.tpm .tp-promo-sale b { font-size: 30px; font-weight: 700; letter-spacing: -.01em; color: #fff; }
.tpm .tp-promo-sale i { font-style: normal; font-size: 15px; opacity: .9; color: #fff; }
.tpm .tp-promo-body { display: flex; flex-direction: column; align-items: flex-start; gap: 8px; padding: 16px 18px 18px; flex: 1 1 auto; }
.tpm .tpm-prose .tp-promo-tag { display: inline-block; background: var(--r); color: #fff !important; font-size: 11.5px; font-weight: 600; letter-spacing: .04em; text-transform: uppercase; border-radius: 999px; padding: 3px 10px; line-height: 1.4; }
.tpm .tpm-prose .tp-promo h3 { margin: 0 !important; font-size: 17px !important; }
.tpm .tpm-prose .tp-promo h3 a { color: var(--ink) !important; text-decoration: none !important; }
.tpm .tpm-prose .tp-promo h3 a:hover { color: var(--b-d) !important; }
.tpm .tpm-prose .tp-promo p { margin: 0 !important; font-size: 14px; line-height: 1.55; color: var(--ink-2); }
.tpm .tpm-prose .tp-promo-date { margin-top: auto; display: inline-flex; align-items: center; gap: 6px; background: var(--b-l); color: var(--b-dd) !important; font-weight: 600; font-size: 13.5px; border-radius: 999px; padding: 5px 12px 5px 10px; line-height: 1.4; }
.tpm .tpm-prose .tp-promo-date:before { content: ""; flex: 0 0 15px; width: 15px; height: 15px; background: currentColor; -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 24 24%22 fill=%22none%22 stroke=%22%23000%22 stroke-width=%222%22 stroke-linecap=%22round%22 stroke-linejoin=%22round%22%3E%3Ccircle cx=%2212%22 cy=%2212%22 r=%229%22/%3E%3Cpath d=%22M12 7v5l3 2%22/%3E%3C/svg%3E") no-repeat center / contain; mask: url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 24 24%22 fill=%22none%22 stroke=%22%23000%22 stroke-width=%222%22 stroke-linecap=%22round%22 stroke-linejoin=%22round%22%3E%3Ccircle cx=%2212%22 cy=%2212%22 r=%229%22/%3E%3Cpath d=%22M12 7v5l3 2%22/%3E%3C/svg%3E") no-repeat center / contain; }
@media (max-width: 999px) { .tpm .tp-blocks.tp-3 { grid-template-columns: 1fr; } .tpm .tp-blk.tp-col { flex-direction: row; } }
@media (max-width: 767px) {
	.tpm .tp-blocks, .tpm .tp-promos { grid-template-columns: 1fr; gap: 10px; }
	.tpm .tp-blk { padding: 16px; gap: 14px; }
	.tpm .tpm-prose .tp-price { font-size: 21px; }
	.tpm .tp-req > div { grid-template-columns: 1fr; gap: 2px; padding: 10px 14px; }
	.tpm .tpm-prose .tp-lead { font-size: 15px; }
}


/* v9: brand search in "Все бренды" */
.tpm #all_brands .tpm-bsearch { display: none; padding: 12px 18px 0; border-top: 1px solid var(--line); }
.tpm #all_brands.tpm-bopen .tpm-bsearch { display: block; }
.tpm #all_brands.tpm-bopen .tpm-bsearch + .brands-cont { border-top: 0 !important; }
.tpm #all_brands .tpm-bsearch input { width: 100%; box-sizing: border-box; height: 36px; padding: 0 12px 0 34px; border: 1px solid var(--line); border-radius: 8px; font: inherit; font-size: 14px; color: var(--ink); outline: none; background: #fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' fill='none' stroke='%23888' stroke-width='2' stroke-linecap='round'%3E%3Ccircle cx='7' cy='7' r='5'/%3E%3Cpath d='M11 11l3.5 3.5'/%3E%3C/svg%3E") no-repeat 11px center; }
.tpm #all_brands .tpm-bsearch input:focus { border-color: var(--b-d); box-shadow: 0 0 0 3px rgba(0,0,0,.05); }
.tpm #all_brands .tpm-bempty { display: none; color: var(--ink-2); font-size: 13px; padding: 0 18px 14px; }
.tpm #all_brands.tpm-bopen.tpm-bnone .tpm-bempty { display: block; }
.tpm #all_brands.tpm-bnone .brands-cont { padding-bottom: 0 !important; }
.tpm #all_brands .brands-cont.tpm-bfiltered { columns: 1; }

/* v10: product tabs body always as wide as the tab header */
.tpm .product-tabs-body-container { display: block !important; width: 100% !important; box-sizing: border-box !important; }
.tpm .product-tabs-body-container > .tab-body { max-width: 100%; overflow-x: auto; box-sizing: border-box; }
.tpm .product-tabs-body-container table.variations { width: 100%; }

/* v11: article «Как выбрать радиатор» */
.tpm .tpm-prose .tp-toc { background: var(--b-ll); border: 1px solid var(--line); border-radius: var(--rad); padding: 16px 20px; margin: 4px 0 26px; }
.tpm .tpm-prose .tp-toc p { margin: 0 0 6px !important; color: var(--ink) !important; }
.tpm .tpm-prose .tp-toc ol { margin: 0 !important; padding-left: 22px !important; columns: 2; column-gap: 28px; }
.tpm .tpm-prose .tp-toc li { margin: 3px 0 !important; break-inside: avoid; }
.tpm .tpm-prose .tp-toc a { text-decoration: none !important; }
.tpm .tpm-prose h2[id] { scroll-margin-top: 90px; }
.tpm .tpm-prose .tp-rad { display: grid; grid-template-columns: 260px minmax(0, 1fr); gap: 22px; padding: 20px; border: 1px solid var(--line); border-radius: var(--rad); background: #fff; margin: 0 0 16px; }
.tpm .tpm-prose .tp-rad-img { background: var(--b-ll); border-radius: 8px; display: flex; align-items: center; justify-content: center; padding: 12px; min-height: 200px; }
.tpm .tpm-prose .tp-rad-img img { max-width: 100% !important; max-height: 230px; height: auto !important; width: auto !important; object-fit: contain; margin: 0 !important; mix-blend-mode: multiply; }
.tpm .tpm-prose .tp-rad h3 { margin: 0 0 8px !important; font-size: 18px !important; }
.tpm .tpm-prose .tp-rad p { margin: 0 0 10px !important; }
.tpm .tpm-prose .tp-pc { display: grid; grid-template-columns: 1fr 1fr; gap: 14px; margin: 0 0 10px; }
.tpm .tpm-prose .tp-pc ul { list-style: none !important; margin: 0 !important; padding: 12px 14px !important; border-radius: 8px; font-size: 14px; }
.tpm .tpm-prose .tp-pc li { position: relative; padding-left: 22px !important; margin: 0 0 5px !important; line-height: 1.45; }
.tpm .tpm-prose .tp-pc li:last-child { margin-bottom: 0 !important; }
.tpm .tpm-prose .tp-pc li:before { content: none !important; }
.tpm .tpm-prose .tp-plus { background: #effaf3; }
.tpm .tpm-prose .tp-minus { background: #fff4f5; }
.tpm .tpm-prose .tp-plus li:after, .tpm .tpm-prose .tp-minus li:after { position: absolute; left: 0; top: 0; font-weight: 700; width: 16px; text-align: center; }
.tpm .tpm-prose .tp-plus li:after { content: "+"; color: #1f9d55; }
.tpm .tpm-prose .tp-minus li:after { content: "−"; color: #d63b4f; }
.tpm .tpm-prose .tp-rad-where { font-size: 14px; }
.tpm .tpm-prose .tp-rad-foot { display: flex; align-items: center; justify-content: space-between; gap: 12px; flex-wrap: wrap; padding-top: 12px; border-top: 1px solid var(--line); font-size: 14px; color: var(--ink-2); }
.tpm .tpm-prose a.tp-btn { display: inline-flex; align-items: center; height: 38px; padding: 0 18px; border-radius: 8px; background: var(--b-d); color: #fff !important; font-weight: 600; font-size: 14px; text-decoration: none !important; white-space: nowrap; transition: background .15s; }
.tpm .tpm-prose a.tp-btn:hover { background: var(--b-dd); }
.tpm .tpm-prose a.tp-btn:after { content: "→"; margin-left: 8px; }
.tpm .tpm-prose .tp-tablewrap { overflow-x: auto; margin: 0 0 14px; border: 1px solid var(--line); border-radius: var(--rad); }
.tpm .tpm-prose table.tp-table { width: 100%; border-collapse: collapse; margin: 0 !important; font-size: 14px; border: 0 !important; }
.tpm .tpm-prose table.tp-table th { background: var(--b-ll); color: var(--ink); font-weight: 600; text-align: left; padding: 10px 14px !important; border: 0 !important; border-bottom: 1px solid var(--line) !important; }
.tpm .tpm-prose table.tp-table td { padding: 9px 14px !important; border: 0 !important; border-bottom: 1px solid var(--line) !important; color: var(--ink-2); }
.tpm .tpm-prose table.tp-table tr:last-child td { border-bottom: 0 !important; }
.tpm .tpm-prose table.tp-table td:first-child { color: var(--ink); font-weight: 500; }
.tpm .tpm-prose .tp-gallery { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 12px; margin: 4px 0 18px; }
.tpm .tpm-prose .tp-gallery img { width: 100% !important; height: 190px !important; object-fit: cover; border-radius: 8px; margin: 0 !important; display: block; }
.tpm .tpm-prose .tp-formula { border: 1px solid var(--line); border-left: 4px solid var(--b-d); border-radius: var(--rad); padding: 16px 20px; margin: 0 0 16px; background: var(--b-ll); }
.tpm .tpm-prose .tp-formula-eq { font-size: 20px; font-weight: 600; color: var(--ink); }
.tpm .tpm-prose .tp-formula-ex { margin-top: 6px; color: var(--ink-2); font-size: 14px; }
.tpm .tpm-prose .tp-note { background: #fff8e8; border: 1px solid #f6dfa6; border-radius: var(--rad); padding: 14px 18px; margin: 0 0 18px; }
.tpm .tpm-prose .tp-note p { margin: 0 !important; }
.tpm .tpm-prose ul.tp-checks { list-style: none !important; padding: 0 !important; margin: 0 0 18px !important; }
.tpm .tpm-prose ul.tp-checks li { position: relative; padding: 10px 14px 10px 44px !important; margin: 0 0 8px !important; border: 1px solid var(--line); border-radius: 8px; background: #fff; }
.tpm .tpm-prose ul.tp-checks li:before { content: "" !important; position: absolute; left: 14px; top: 12px; width: 18px; height: 18px; border-radius: 50%; background: var(--b-d) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23fff' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12l5 5 9-10'/%3E%3C/svg%3E") no-repeat center / 12px; }
.tpm .tpm-prose .tp-cta { display: flex; align-items: center; justify-content: space-between; gap: 18px; flex-wrap: wrap; padding: 20px 22px; border-radius: var(--rad); background: var(--b-ll); border: 1px solid var(--line); margin-top: 8px; }
.tpm .tpm-prose .tp-cta p { margin: 0 !important; flex: 1 1 300px; color: var(--ink); }
@media (max-width: 767px) {
  .tpm .tpm-prose .tp-toc ol { columns: 1; }
  .tpm .tpm-prose .tp-rad { grid-template-columns: 1fr; padding: 14px; gap: 14px; }
  .tpm .tpm-prose .tp-rad-img { min-height: 0; }
  .tpm .tpm-prose .tp-rad-img img { max-height: 180px; }
  .tpm .tpm-prose .tp-pc { grid-template-columns: 1fr; gap: 8px; }
  .tpm .tpm-prose .tp-gallery { grid-template-columns: 1fr 1fr; }
  .tpm .tpm-prose .tp-gallery img { height: 130px !important; }
  .tpm .tpm-prose .tp-gallery img:nth-child(3) { display: none; }
  .tpm .tpm-prose .tp-formula-eq { font-size: 17px; }
}
.tpm .tpm-prose .tp-toc ol { columns: auto !important; display: grid; grid-template-columns: 1fr 1fr; gap: 4px 28px; list-style: none !important; padding: 0 !important; counter-reset: toc; }
.tpm .tpm-prose .tp-toc li { counter-increment: toc; padding-left: 0 !important; margin: 0 !important; }
.tpm .tpm-prose .tp-toc li:before { content: counter(toc) "." !important; display: inline-block; width: 20px; color: var(--b-d); font-weight: 600; position: static !important; background: none !important; }
.tpm .tpm-prose .tp-rad-img { align-self: start; }
@media (max-width: 767px) { .tpm .tpm-prose .tp-toc ol { grid-template-columns: 1fr; } }
.tpm .tpm-prose table.tp-table { width: 100% !important; min-width: 100% !important; display: table !important; }
.tpm .tpm-prose .tp-formula-eq sub { font-size: .6em; font-weight: 500; vertical-align: sub; line-height: 0; }

/* v12: product page polish */
.tpm .tp-maker { font-size: 14px !important; font-weight: 400; color: var(--ink-2); line-height: 1.5; margin: 6px 0 0; padding: 12px 0 8px; border-top: 1px solid var(--line); list-style: none; }
.tpm .tp-maker a { font-weight: 600; color: var(--b-dd) !important; text-decoration: none !important; }
.tpm .tp-maker a:hover { text-decoration: underline !important; }
.tpm .tp-maker + br, .tpm .rcol ul > br { display: none; }
.tpm .product-tabs-header-container .tab-title { height: auto !important; line-height: 1.3 !important; padding: 14px 18px 13px !important; }
@media (max-width: 767px) { .tpm .product-tabs-header-container .tab-title { padding: 12px 12px 11px !important; } }
/* tables inside product descriptions */
.tpm .product_description .tpm-tw { overflow-x: auto; margin: 0 0 16px; -webkit-overflow-scrolling: touch; }
.tpm .product_description table { display: table !important; width: 100% !important; max-width: none !important; table-layout: auto !important; border-collapse: collapse; margin: 0 !important; font-size: 13px; }
.tpm .product_description table td, .tpm .product_description table th { width: auto !important; height: auto !important; max-width: none !important; min-width: 56px; overflow-wrap: normal !important; word-break: normal !important; white-space: normal; padding: 7px 10px !important; border: 1px solid var(--line) !important; text-align: center; vertical-align: middle; line-height: 1.35; }
.tpm .product_description table tr:first-child td, .tpm .product_description table th { background: var(--b-ll); color: var(--ink); font-weight: 500; }
.tpm .product_description table p { margin: 0 !important; }
/* v12b: even vertical rhythm on product page (≈26px between blocks) */
.tpm .product-tabs-header-container { margin-top: 18px !important; }
.tpm .product-tabs-body-container > .tab-body { padding-top: 0 !important; padding-bottom: 0 !important; margin: 0 !important; }
.tpm .product_description > :last-child, .tpm .product_description > .tpm-tw:last-child { margin-bottom: 0 !important; }
.tpm .product-tabs-body-container #back_forward, .tpm #back_forward { margin-top: 26px !important; margin-bottom: 0 !important; }
/* v13: product photo magnifier + expand button; popup fit fix */
.tpm .fancybox-inner { min-width: 0 !important; }
.tpm .product .img-cont .image.tpm-zbox { position: relative; overflow: hidden; }
.tpm .tpm-zbox a.zoom { display: flex; align-items: center; justify-content: center; width: 100%; cursor: zoom-in; }
.tpm .tpm-zbox img { transition: transform .25s ease; will-change: transform; max-height: 420px; width: auto !important; object-fit: contain; }
.tpm .tpm-zbox.tpm-zoomed a.zoom { cursor: zoom-out; }
.tpm .tpm-zbox.tpm-zoomed img { transition: transform .25s ease, transform-origin .05s linear; }
.tpm .tpm-expand { position: absolute; top: 10px; right: 10px; z-index: 3; width: 38px; height: 38px; border: 1px solid var(--line); border-radius: 10px; background: rgba(255,255,255,.92) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%231d6f9a' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M15 3h6v6M9 21H3v-6M21 3l-7 7M3 21l7-7'/%3E%3C/svg%3E") no-repeat center / 18px; cursor: pointer; box-shadow: 0 2px 8px rgba(0,0,0,.08); transition: background-color .15s, transform .15s; padding: 0; }
.tpm .tpm-expand:hover { background-color: #fff; transform: scale(1.06); }
.tpm .tpm-zhint { position: absolute; left: 10px; bottom: 10px; z-index: 2; width: 32px; height: 32px; border-radius: 50%; background: rgba(255,255,255,.9) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%237a8a94' stroke-width='2' stroke-linecap='round'%3E%3Ccircle cx='10.5' cy='10.5' r='6.5'/%3E%3Cpath d='M15.5 15.5L21 21M10.5 8v5M8 10.5h5'/%3E%3C/svg%3E") no-repeat center / 18px; pointer-events: none; transition: opacity .2s; border: 1px solid var(--line); }
.tpm .tpm-zbox.tpm-zoomed .tpm-zhint { opacity: 0; }
.tpm .product .img-cont .images a.tpm-cur { border-color: var(--b-d) !important; }
.tpm .product_description > :first-child, .tpm .product_description > :first-child > :first-child { margin-top: 0 !important; padding-top: 0 !important; }
.tpm .product_description > ul:first-child, .tpm .product_description > ol:first-child { margin-top: 0 !important; }
/* v14: price filter + slider, AJAX loading state */
.tpm #tpm-listing { transition: opacity .15s; }
.tpm #tpm-listing.tpm-loading { opacity: .45; pointer-events: none; }
.tpm .sort-box form.tpm-price { display: flex; flex-wrap: wrap; align-items: center; gap: 8px 10px; padding: 14px var(--pad) 18px; margin: 0; border-bottom: 1px solid var(--line); font-size: 13px; color: var(--ink); }
.tpm .sort-box form.tpm-price b { font-weight: 500; margin-right: 4px; }
.tpm .sort-box form.tpm-price input[type=number] { width: 120px; height: 34px; padding: 0 10px; border: 1px solid var(--line); border-radius: 8px; font: inherit; font-size: 14px; background: #fff; -moz-appearance: textfield; }
.tpm .sort-box form.tpm-price input[type=number]::-webkit-outer-spin-button, .tpm .sort-box form.tpm-price input[type=number]::-webkit-inner-spin-button { -webkit-appearance: none; margin: 0; }
.tpm .sort-box form.tpm-price input[type=number]:focus { border-color: var(--b-d); outline: none; }
.tpm .sort-box form.tpm-price button { height: 34px; padding: 0 16px; border: 0; border-radius: 8px; background: var(--b-d); color: #fff; font-weight: 600; font-size: 13px; cursor: pointer; }
.tpm .sort-box form.tpm-price button:hover { background: var(--b-dd); }
.tpm .sort-box .tpm-price-dash { color: var(--mute); }
.tpm .sort-box a.tpm-price-reset { color: var(--mute) !important; font-size: 13px; text-decoration: underline !important; }
.tpm .tpm-range { position: relative; flex: 1 1 100%; max-width: 420px; height: 34px; margin-top: 2px; }
.tpm .tpm-range-track { position: absolute; left: 9px; right: 9px; top: 9px; height: 4px; border-radius: 2px; background: var(--line); }
.tpm .tpm-range-fill { position: absolute; top: 0; bottom: 0; background: var(--b-d); border-radius: 2px; }
.tpm .tpm-range input[type=range] { position: absolute; left: 0; right: 0; top: 0; width: 100%; height: 22px; margin: 0; background: none; pointer-events: none; -webkit-appearance: none; appearance: none; }
.tpm .tpm-range input[type=range]::-webkit-slider-runnable-track { background: none; height: 22px; }
.tpm .tpm-range input[type=range]::-moz-range-track { background: none; }
.tpm .tpm-range input[type=range]::-webkit-slider-thumb { -webkit-appearance: none; pointer-events: auto; width: 18px; height: 18px; margin-top: 2px; border-radius: 50%; background: #fff; border: 2px solid var(--b-d); box-shadow: 0 1px 4px rgba(0,0,0,.2); cursor: grab; }
.tpm .tpm-range input[type=range]::-moz-range-thumb { pointer-events: auto; width: 14px; height: 14px; border-radius: 50%; background: #fff; border: 2px solid var(--b-d); cursor: grab; }
.tpm .tpm-range-lbl { position: absolute; left: 0; right: 0; top: 22px; display: flex; justify-content: space-between; font-size: 12px; color: var(--mute); }
@media (max-width: 767px) {
  .tpm .sort-box.tpm-has-filters:not(.tpm-fopen) form.tpm-price { display: none; }
  .tpm .sort-box form.tpm-price input[type=number] { width: calc(50% - 60px); }
  .tpm .tpm-range { max-width: none; }
}
@media (max-width: 767px) {
  .tpm .sort-box form.tpm-price b { flex: 1 1 100%; }
  .tpm .sort-box form.tpm-price input[type=number] { flex: 1 1 0; min-width: 0; width: auto; }
  .tpm .sort-box form.tpm-price button { flex: 1 1 100%; height: 38px; }
  .tpm .sort-box form.tpm-price .tpm-range { order: 5; }
}
/* v15: tab header — old CSS fixed height:37px, tabs overflowed the bottom line */
.tpm .product-tabs-header-container { height: auto !important; min-height: 0 !important; padding-bottom: 0 !important; align-items: flex-end; }
.tpm .product-tabs-header-container .tab-title { padding: 14px 18px 12px !important; margin: 0 0 -2px !important; }
@media (max-width: 767px) { .tpm .product-tabs-header-container .tab-title { padding: 12px 12px 10px !important; } }
/* v16: brand logo rows in category descriptions */
.tpm .tp-brandlogos { display: grid; grid-template-columns: repeat(auto-fill, minmax(150px, 1fr)); gap: 12px; margin: 0 0 var(--gap, 20px); white-space: normal; font-family: inherit; }
.tpm .tp-brandlogos a { display: flex; align-items: center; justify-content: center; height: 76px; padding: 12px 16px; background: #fff; border: 1px solid var(--line); border-radius: var(--rad); box-shadow: var(--sh); text-decoration: none !important; transition: border-color .15s, transform .15s; box-sizing: border-box; }
.tpm .tp-brandlogos a:hover { border-color: var(--b); transform: translateY(-1px); }
.tpm .tp-brandlogos img { max-width: 100% !important; max-height: 50px !important; width: auto !important; height: auto !important; object-fit: contain; margin: 0 !important; }
@media (max-width: 767px) { .tpm .tp-brandlogos { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px; } .tpm .tp-brandlogos a { height: 64px; } }

/* v17: mobile drawer — bigger section titles, collapsible catalog, phone icons, text never under the arrow */
@media (max-width: 999px) {
	.tpm .tpm-dtitle { font-size: 17px !important; text-transform: none !important; letter-spacing: 0 !important; color: var(--ink) !important; font-weight: 600 !important; padding: 14px 16px 8px !important; }
	.tpm button.tpm-cattoggle { display: flex; align-items: center; justify-content: space-between; width: 100%; border: 0; background: none; cursor: pointer; text-align: left; font-family: inherit; padding: 14px 16px 12px !important; }
	.tpm button.tpm-cattoggle svg { width: 22px; height: 22px; color: var(--b-d); transition: transform .2s; flex: 0 0 22px; }
	.tpm .tpm-catsec.tpm-catopen button.tpm-cattoggle svg { transform: rotate(180deg); }
	.tpm .tpm-catsec:not(.tpm-catopen) > .tpm-cat { display: none; }
	.tpm .tpm-row > a { min-width: 0; padding-right: 12px !important; }
	.tpm .tpm-row > a > span:last-child { min-width: 0; overflow-wrap: anywhere; }
	.tpm .tpm-exp { flex: 0 0 52px !important; min-width: 52px; }
	.tpm .tpm-contacts a.tpm-tel { display: flex !important; align-items: center; gap: 10px; }
	.tpm .tpm-contacts a.tpm-tel:before { content: ""; flex: 0 0 34px; width: 34px; height: 34px; border-radius: 50%; background: var(--b-l) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%231d6f9a' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 4h3l1.6 4-2 1.3a11 11 0 0 0 7.1 7.1l1.3-2 4 1.6v3a2 2 0 0 1-2 2A16 16 0 0 1 3 6a2 2 0 0 1 2-2z'/%3E%3C/svg%3E") no-repeat center / 18px; }
}

/* v18: floating buttons sit above the price notice (#overlay) */
.tpm .float-button { bottom: calc(24px + var(--tpm-ov, 0px)) !important; transition: bottom .2s, transform .15s; }
.tpm .tpm-up { bottom: calc(92px + var(--tpm-ov, 0px)) !important; }
@media (max-width: 999px) {
	.tpm .float-button { bottom: calc(16px + var(--tpm-ov, 0px)) !important; }
	.tpm .tpm-up { bottom: calc(80px + var(--tpm-ov, 0px)) !important; }
}
/* v19: product page add-to-cart — compact, text centered */
.tpm .product .rcol input.add_to_cart, .tpm .product .rcol .add_to_cart { display: inline-block !important; width: auto !important; min-width: 200px; max-width: 100%; text-align: center !important; padding-left: 32px !important; padding-right: 32px !important; }
@media (max-width: 767px) { .tpm .product .rcol input.add_to_cart, .tpm .product .rcol .add_to_cart { min-width: 220px; } }
@media (max-width: 767px) { .tpm .product .rcol form.cart .add_to_cart { flex: 0 0 auto !important; width: auto !important; } }

/* v20: Yandex Maps reviews (rating + latest reviews) in the left column */
.tpm .tp-reviews { margin-top: 16px; background: #fff; border: 1px solid var(--line); border-radius: var(--rad); box-shadow: var(--sh); overflow: hidden; }
.tpm .tp-reviews-head { display: flex; align-items: center; justify-content: space-between; padding: 14px 16px 10px; font-weight: 600; font-size: 15px; color: var(--ink); }
.tpm .tp-reviews-head a { font-size: 13px; font-weight: 500; color: var(--b-dd) !important; text-decoration: none !important; }
.tpm .tp-reviews-frame { position: relative; height: 430px; overflow: hidden; border-top: 1px solid var(--line); }
.tpm .tp-reviews-frame iframe { width: 100%; height: 800px; border: 0; display: block; }
.tpm .tp-reviews-frame iframe { height: 1000px !important; }

.tpm .tp-reviews-frame iframe { height: 1000px !important; }

/* v21: cart — ways to receive the order as cards, note below, phone mask */
.tpm ul#deliveries { list-style: none !important; margin: 0 0 14px !important; padding: 0 !important; display: grid; gap: 12px; }
.tpm ul#deliveries li { position: relative; margin: 0 !important; padding: 0 !important; background: none !important; list-style: none !important; }
.tpm ul#deliveries li:before { display: none !important; }
.tpm ul#deliveries li input[type=radio] { position: absolute; left: 18px; top: 20px; width: 18px; height: 18px; margin: 0; accent-color: var(--b-d); z-index: 1; }
.tpm ul#deliveries li label { display: block; padding: 16px 18px 14px 48px; background: #fff; border: 1px solid var(--line); border-radius: var(--rad); cursor: pointer; transition: border-color .15s, box-shadow .15s; font-size: 14px; line-height: 1.55; color: var(--ink-2); }
.tpm ul#deliveries li label:hover { border-color: var(--b); }
.tpm ul#deliveries li input[type=radio]:checked + label { border-color: var(--b-d); box-shadow: 0 0 0 3px rgba(29, 127, 193, .12); background: var(--b-ll); }
.tpm ul#deliveries li label h3 { margin: 0 0 6px !important; font-size: 16px !important; font-weight: 600 !important; color: var(--ink) !important; }
.tpm ul#deliveries li label p, .tpm ul#deliveries li label span, .tpm ul#deliveries li label div { font-family: inherit !important; font-size: 14px !important; color: var(--ink-2) !important; line-height: 1.55 !important; margin: 0 0 4px !important; background: none !important; }
.tpm ul#deliveries li label p:last-child { margin-bottom: 0 !important; }
.tpm ul#deliveries li label strong, .tpm ul#deliveries li label b { color: var(--ink) !important; font-weight: 600; }
.tpm .tp-deliv-note { background: #fff8e8 !important; border: 1px solid #f6dfa6 !important; border-radius: var(--rad); padding: 14px 18px !important; margin: 0 0 24px !important; color: var(--ink-2) !important; font-size: 14px; line-height: 1.55; }
.tpm .tp-deliv-note p { margin: 0 0 4px !important; color: inherit !important; }
.tpm .tp-deliv-note p:last-child { margin: 0 !important; }
.tpm .tp-deliv-note b { color: var(--ink) !important; }
.tpm .cart_form input[name=phone] { letter-spacing: .02em; }
/* v21b: delivery cards — own radio indicator, no outer frame */
.tpm .deliv { background: none !important; border: 0 !important; box-shadow: none !important; padding: 0 !important; margin: 0 !important; }
.tpm ul#deliveries li input[type=radio] { position: absolute !important; opacity: 0 !important; width: 1px !important; height: 1px !important; pointer-events: none; }
.tpm ul#deliveries li label { position: relative; padding-left: 50px !important; }
.tpm ul#deliveries li label:before { content: ""; position: absolute; left: 18px; top: 18px; width: 20px; height: 20px; border-radius: 50%; border: 2px solid #b9c3cc; background: #fff; box-sizing: border-box; transition: border-color .15s, box-shadow .15s; }
.tpm ul#deliveries li input[type=radio]:checked + label:before { border-color: var(--b-d); box-shadow: inset 0 0 0 4px #fff, inset 0 0 0 10px var(--b-d); }
.tpm ul#deliveries li input[type=radio]:focus-visible + label { outline: 2px solid var(--b-d); outline-offset: 2px; }
@media (max-width: 767px) {
  .tpm ul#deliveries li label { padding: 14px 14px 12px 44px !important; }
  .tpm ul#deliveries li label:before { left: 14px; top: 16px; }
  .tpm ul#deliveries li label h3 { font-size: 15px !important; }
}

/* v20b: reviews widget scaled to column width */
.tpm .tp-reviews-frame { height: 517px; }
.tpm .tp-reviews-frame iframe { width: 340px !important; height: 1100px !important; transform-origin: 0 0; max-width: none !important; }
